c# - 如何使用作为代码?

标签 c#

嗨,我已经写了一个工作代码;

private void baslangic_gridler(UIElement element)
    {
        DoubleAnimation opaklk = new DoubleAnimation();
        opaklk.From = 0;
        opaklk.To = 1;
        opaklk.Duration = new TimeSpan(0, 0, 0, 0, 300);


        Thickness to_margin = (element as Grid).Margin;
        Thickness from_margin = to_margin;


        from_margin.Left = from_margin.Left - 25;
        ThicknessAnimation kaydır = new ThicknessAnimation();
        kaydır.From = from_margin;
        kaydır.To = to_margin;
        kaydır.Duration = new TimeSpan(00,0,0,0,300);


        element.BeginAnimation(MarginProperty, kaydır);
        element.BeginAnimation(OpacityProperty, opaklk);
    }

但我想使用所有类型的表单元素,例如按钮或图像

Thickness to_margin = (element as Grid).Margin;

对于所有元素,我可以使用什么来代替网格?

最佳答案

MSDNGrid 类 (System.Windows.Controls) 继承了 FrameworkElementMargin 属性,因此您应该使用它来覆盖所有基础。

Margin: Gets or sets the outer margin of an element.(Inherited from FrameworkElement.)

请注意,FrameworkElement 是一个 UIElement,因此您可以将 FrameworkElement 作为参数传递给您的方法而不是像这样的 UIElement :

private void baslangic_gridler(FrameworkElement element)
{
    DoubleAnimation opaklk = new DoubleAnimation();
    opaklk.From = 0;
    opaklk.To = 1;
    opaklk.Duration = new TimeSpan(0, 0, 0, 0, 300);


    Thickness to_margin = element.Margin;
    Thickness from_margin = to_margin;


    from_margin.Left = from_margin.Left - 25;
    ThicknessAnimation kaydır = new ThicknessAnimation();
    kaydır.From = from_margin;
    kaydır.To = to_margin;
    kaydır.Duration = new TimeSpan(00,0,0,0,300);


    element.BeginAnimation(MarginProperty, kaydır);
    element.BeginAnimation(OpacityProperty, opaklk);
}

关于c# - 如何使用作为代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50338119/

相关文章:

c# - 如何使用 WPF 从 bindingexpression 解析绑定(bind)对象?

c# - 如何将类型传递给方法 - 类型参数与泛型

c# - 区分大型数据列表的最佳方式、算法和方法是什么?

c# - 序列化类时未标记为可序列化错误

c# - Dispose,什么时候调用?

C# WinForms DataGridView - 选定常量行!

c# - 最小起订量单元测试 - 值不能为空

c# - 将变量传递给c#中的不同方法

c# - 如何将文件从 .NET 应用程序上传到 Rocket.Chat-Channel?

c# - 字符串末尾数字的正则表达式?