有谁知道,是否有办法使用动画属性作为绑定的源?据我所知,动画并没有“真正”设置属性的值,因此不会触发更改的事件,这是触发绑定所必需的。
蒂亚·马丁
有谁知道,是否有办法使用动画属性作为绑定的源?据我所知,动画并没有“真正”设置属性的值,因此不会触发更改的事件,这是触发绑定所必需的。
蒂亚·马丁
我不知道你说的是不是真的。在下面的 XAML 中,TextBlock 将显示 Rectangle 的宽度。当您单击 Rectangle 时,Width 属性从 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>
动画实际上确实改变了值,它确实调用了您传递给 DependecyProperty.Register 的属性更改回调,并且它确实导致需要布局/渲染传递 ID。