小编Der*_*erd的帖子

画布操作事件直到第一次尝试后才开始

我正试图通过使用'ManipulationDelta`滑动来制作画布动画.问题很简单.当我运行应用程序时,唯一一次没有触发操作事件是第一次尝试.如果我在画布中的任何位置点击(或滑动)一次,那么第二次它会工作,直到重新启动应用程序.

这是我的XAML代码:

<Canvas Name="rootCanvas" Style="{StaticResource rootCanvas}" Hold="rootCanvas_Hold" ManipulationDelta="rootCanvas_ManipulationDelta" ManipulationCompleted="rootCanvas_ManipulationCompleted">
    <Canvas.Resources>
        <Storyboard x:Name="menuAnimation">
            <DoubleAnimation Duration="0:0:0.2" To="0" Storyboard.TargetProperty="(Canvas.Left)" Storyboard.TargetName="rootAnimation" d:IsOptimized="True" />
        </Storyboard>
    </Canvas.Resources>
    <Canvas Name="rootAnimation">
        <Grid x:Name="rootContainer" DataContext="{Binding}" Style="{StaticResource rootContainer}">
            ...
        </grid>
    </Canvas>
</Canvas>
Run Code Online (Sandbox Code Playgroud)

这是我在C#中的代码

private void rootCanvas_ManipulationDelta(object sender, System.Windows.Input.ManipulationDeltaEventArgs e)
{
    if (e.DeltaManipulation.Translation.X > 25 && !menu.IsMenuOpen())
    {
        MoveViewWindow(150);
        hintActive = false;
        menu.SetMenuOpen();
        return;
    }
    else if (e.DeltaManipulation.Translation.X < (-25) && menu.IsMenuOpen())
    {
        MoveViewWindow(0);
        hintActive = false;
        menu.SetMenuClosed();
        return;
    }
}

private void rootCanvas_Hold(object sender, System.Windows.Input.GestureEventArgs e)
{
    if (!menu.IsMenuOpen())
    { …
Run Code Online (Sandbox Code Playgroud)

c# xaml canvas swipe windows-phone-8

5
推荐指数
1
解决办法
483
查看次数

是否有从密封类继承的替代方法?

我之所以这么问是因为我想创建一个具有 FileInfo 类(源自 FileInfo)的所有功能的类,并允许我向其中添加自己的属性。

我认为一个例子会更多地合作。我想要的是:

BindingList<FileInformation> files = new BindingList<FileInformation>();
public void GatherFileInfo(string path)
{
    files.Add(new FileInformation(path));
    listboxFiles.DataContext = files;
}

class FileInformation : FileInfo
{
    public bool selected = false;
}
Run Code Online (Sandbox Code Playgroud)

对比我害怕我必须做的事情:

BindingList<FileInformation> files = new BindingList<FileInformation>();
public void GatherFileInfo(string path)
{
    files.Add(new FileInformation(path));
    listboxFiles.DataContext = files;
}

class FileInformation : FileInfo
{
    string path = "<whatever>"
    FileInfo fileInfo = new FileInfo(path);
    public bool selected = false;

    public string Name
    {
        get { return fileInfo.Name }
    }
    //Manually inherit …
Run Code Online (Sandbox Code Playgroud)

c# wpf inheritance sealed

5
推荐指数
1
解决办法
2873
查看次数

margin-top百分比未按预期工作

我知道你在想什么,但是父容器都是用像素定位的.

我有一个高度和宽度以像素为单位的div,在div中我有一个youtube iframe(对于这个例子)它是margin-top百分比.

这个HTML:

元素控制台

这就是结果:

在此输入图像描述

我知道这是一个可笑的小框架(所选div的右下角),但它只是一个例子:)

正如你所看到的,在代码中我有margin-top设置,99%但它实际上定位低很多.可能是什么原因造成的?

html css margin

3
推荐指数
1
解决办法
4040
查看次数

加载动态 javascript 和 CSS 文件是个坏主意吗?

我问这个的原因是因为我想从头开始编写我自己的 javascript 框架。但是随着我的代码规模的扩大,我要浏览的代码量也在增长。

为了保持清晰的概述,我认为将我的代码拆分为单独的文件并让框架通过将文件添加到我的文档的标题来加载文件是明智的。

它还不是那么大(<50kb),但考虑到它可能会变得更大;这样做会有很大的性能损失还是有更好的方法来做到这一点?

更新@安东尼

捆绑和缩小绝对在我的待办事项清单上。我确实希望这样做会减速。尽管如此,在解析过程中将文件动态添加到标头不会导致浏览器重新考虑它的解析和绘制过程吗?这里有罚款吗?

功能

如果您来这里是为了寻找一种通过 javascript 加载外部文件的方法

var loadExternalFile = function (id, filename, filetype, target, callback) {
    if (typeof target === "undefined") {
        target = "head";
    }
    if (filetype === "js") { //if filename is an external JavaScript file
        var fileref = document.createElement('script');
        fileref.type = "text/javascript";
        fileref.src = filename;
        fileref.id = id;
        if (typeof callback === "function") {
            fileref.onload = callback;
        }
    }
    else if (filetype === "css") { //if filename is an external CSS …
Run Code Online (Sandbox Code Playgroud)

javascript performance

3
推荐指数
1
解决办法
583
查看次数

asp.net asp:DropDownList onSelectedIndexChanged没有在数据绑定asp:GridView中触发

我遇到了麻烦,我无法弄明白.我有一个数据绑定asp:gridview(sqldatasource),在itemtemplate中有一个asp:dropdownlist.下拉列表中有一个onSelectedIndexChanged事件侦听器,但它不会触发.

这是标记:

<asp:ScriptManager ID="ScriptManager1" runat="server">

</asp:ScriptManager>
<asp:UpdatePanel runat="server" ID="UpdatePanel1">
    <ContentTemplate>
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        EmptyDataText="There are no data records to display." EnableViewState="True" >
        <Columns>
            <asp:TemplateField HeaderText="Delete user">
                <ItemTemplate>
                    <asp:Button runat="server" ID="btnDelete" CommandName="Delete" CommandArgument='<%# Eval("UserId") %>'
                        Text="Delete" OnCommand="DeleteUser" />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Block users">
                <ItemTemplate>
                    <asp:Button runat="server" ID="btnBlock" CommandName="Block" CommandArgument='<%# Eval("UserId") %>'
                        Text="Block" OnClick="btnBlock_Click" Visible='<%# !Convert.ToBoolean(Eval("IsLockedOut")) %>' />
                    <asp:Button runat="server" ID="btnDeblock" CommandName="Deblock" CommandArgument='<%# Eval("UserId") %>'
                        Text="Deblock" OnClick="btnBlock_Click" Visible='<%# Convert.ToBoolean(Eval("IsLockedOut")) %>' />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Change role">
                <ItemTemplate>
                    <asp:DropDownList ID="ChangeRole" runat="server" EnableViewState="false" …
Run Code Online (Sandbox Code Playgroud)

c# asp.net events gridview databound

0
推荐指数
1
解决办法
3万
查看次数

如何在带有占位符文本的输入字段中添加图标

如何添加图标作为输入字段内的占位符文本?该图标位于输入字段之外。我尝试使用填充和边距移动它,但我似乎无法将其精确定位在我想要的位置。

在此输入图像描述

html css

0
推荐指数
1
解决办法
7190
查看次数