代码之家  ›  专栏  ›  技术社区  ›  Arijit

移动画布内绘制的矩形

  •  0
  • Arijit  · 技术社区  · 2 年前

    我试图移动画布中绘制的矩形。当我运行我的代码时,我得到一个错误,基本上是“Canvas”。“Top”不是受支持的属性。有什么想法吗?提前谢谢。 这是我的代码:

    <Window.Resources>
        <ResourceDictionary>
            <Storyboard x:Key="MoveRect">
                <DoubleAnimation Storyboard.TargetName="box" Storyboard.TargetProperty="Canvas.Top" 
                                 From="0" To="100" Duration="0:0:1"/>
            </Storyboard>
        </ResourceDictionary>
    </Window.Resources>
    
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
    
        <Canvas Grid.Row="0" Width="200" Height="200" HorizontalAlignment="Left">
            <Rectangle x:Name="box" Width="100" Height="100" Fill="LightBlue" Stroke="DarkBlue" StrokeThickness="3" 
                       Canvas.Top="0" Canvas.Left="0"/> 
        </Canvas>
    
        <Button Grid.Row="1" Content="Move" Width="100" HorizontalAlignment="Left" Click="Button_Click"/>
    </Grid>
    
    1 回复  |  直到 2 年前
        1
  •  0
  •   Mario Vernari    2 年前

    必须将属性括在括号中,因为这是一个附加属性:

            <DoubleAnimation 
                Storyboard.TargetName="box"
                Storyboard.TargetProperty="(Canvas.Top)" 
                From="0"
                To="100"
                Duration="0:0:1"
                />
    

    看看这里: Animating WPF element in XAML using attached property?