嗨,我已经写了一个工作代码;
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;
对于所有元素,我可以使用什么来代替网格?
最佳答案
每MSDN ,Grid
类 (System.Windows.Controls) 继承了 FrameworkElement
的 Margin
属性,因此您应该使用它来覆盖所有基础。
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/