我需要一起更改行和列。
这可能吗?
我已经搜索过但找不到答案

        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>

最佳答案

RowPropertyColumnPropertyInt32属性,因此您将不得不使用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/

10-11 08:08