代码之家  ›  专栏  ›  技术社区  ›  Sun Rise

“System.Windows.Media.Manimation.DoubleAnimation”类型的AnimationTimeline不能用于为“System.Int32”类型的“Row”属性设置动画

  •  3
  • Sun Rise  · 技术社区  · 12 年前

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

            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>
    
    1 回复  |  直到 12 年前
        1
  •  2
  •   sa_ddam213    12 年前

    这个 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);