使用附加属性在XAML中动画化WPF元素?

Son*_*oul 9 c# wpf animation xaml

我的动画由我的ViewModel中的属性触发.如果我设置TargetPropertyWidth,下面的代码实际上可以用于增长图像.

接下来,我想实际上下移动图像.为此,我Canvas在图像周围添加了一个组件,以便能够根据Canvas.Top属性进行动画处理.Canvas.Top图像上的设置将其移动到我想要的位置.

但是,如果我设置StoryBoard.TargetPropertyCanvas.Top,我会收到一个错误:

无法解析属性路径Canvas.Top中的所有属性引用.

<Style x:Key="LoadingImageAnimation" TargetType="{x:Type Image}">
  <Style.Triggers>
    <DataTrigger Binding="{Binding IsLoading}" Value="True">
      <DataTrigger.EnterActions>
        <BeginStoryboard>
          <Storyboard>
            <DoubleAnimation From="10" To="250" AutoReverse="True" Duration="0:0:30"
                             Storyboard.TargetProperty="Canvas.Top"/>
          </Storyboard>
        </BeginStoryboard>
      </DataTrigger.EnterActions>
    </DataTrigger>
  </Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)

我的方法是完全关闭,还是只是找到附属物?

Son*_*oul 18

Property Path Syntax上做了一些挖掘.解决方案实际上很简单..需要添加括号"(Canvas.Top)".

动画并不像我想的那样顺畅......但至少它现在有效.