我需要同时更改行和列。 这可能吗? 我搜索过但找不到答案
var da = new DoubleAnimation();
da.From = 0;
da.To = 2;
da.Duration = new Duration(TimeSpan.FromSeconds(1));
Soldier.BeginAnimation(Grid.RowProperty, da);
Soldier.BeginAnimation(Grid.ColumnProperty, da);
xaml 代码:
<Grid>
<Grid Name="Grm" Width="500" Height="500" Background="#FF14831E">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition Height="100"/>
<RowDefinition Height="100"/>
<RowDefinition Height="100"/>
<RowDefinition Height="100"/>
</Grid.RowDefinitions>
<Image Name="Soldier" Grid.Row="0" Grid.Column="0" Source="Soldier-Red.png" Width="26" Height="34" MouseLeftButtonDown="Image_MouseLeftButtonDown_1"></Image>
</Grid>
</Grid>
最佳答案
RowProperty
和 ColumnProperty
是 Int32
属性,因此您必须使用 Int32Animation
例子:
var da = new Int32Animation();
da.From = 0;
da.To = 2;
da.Duration = new Duration(TimeSpan.FromSeconds(1));
Soldier.BeginAnimation(Grid.RowProperty, da);
Soldier.BeginAnimation(Grid.ColumnProperty, da);
关于wpf - 'System.Windows.Media.Animation.DoubleAnimation' 类型的 AnimationTimeline 不能用于为 'Row' 类型的 'System.Int32' 属性设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18394500/