绑定到动画属性(WPF)

时间:2009-02-04 13:26:53

标签: wpf data-binding animation properties

有没有人知道,是否有办法使用动画作为绑定源的属性? 据我所知,动画不是“真正”设置属性的值,因此不会触发更改的事件,这是触发绑定所需的。

TIA 马丁

2 个答案:

答案 0 :(得分:4)

我不知道你说的是否完全正确。在下面的XAML中,TextBlock将显示Rectangle的宽度。单击“矩形”时,“宽度”属性的动画范围为50到300.沿着每个增量,TextBlock的值都会更改。我不明白你的问题吗?

<Grid>
  <Grid.RowDefinitions>
    <RowDefinition Height="*" />
    <RowDefinition Height="Auto" />
  </Grid.RowDefinitions>
  <TextBlock Text="{Binding ElementName=Rect,Path=Width}" Grid.Row="0" />
  <Rectangle Grid.Row="1"
             Name="Rect"
             Height="30"
             Width="50"
             Fill="Blue"
             HorizontalAlignment="Left">
    <Rectangle.Triggers>
      <EventTrigger RoutedEvent="Rectangle.MouseLeftButtonDown">
        <EventTrigger.Actions>
          <BeginStoryboard>
            <Storyboard>
              <DoubleAnimation Storyboard.TargetProperty="Width"
                From="50"
                To="300"
                Duration="0:0:10"/>
            </Storyboard>
          </BeginStoryboard>
        </EventTrigger.Actions>
      </EventTrigger>
    </Rectangle.Triggers>
  </Rectangle>
</Grid>

答案 1 :(得分:2)

动画实际上确实改变了值,它确实调用了传递给DependecyProperty.Register的属性更改回调,它确实导致了所需的布局/渲染通道ID。