【发布时间】:2013-05-24 04:02:33
【问题描述】:
在其中一个模块中,我看到设置了以下样式。
<Style TargetType="Rectangle">
<Style.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation To="300" Duration="0:0:1.5"
AccelerationRatio="0.10" DecelerationRatio="0.25"
Storyboard.TargetProperty="(Canvas.Width)" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
注意TargetType 是Rectangle 而Storyboard.TargetProperty 是Canvas.Width。
样式/触发器仍然正常工作。它正在为Rectangle.width 属性设置动画。
我知道在 Storyboard.TargetProperty(或 XAML 中的任何其他地方)中,我们必须使用 PropertyPath syntax,就像 (ownerType.PropertyName)。
我的问题是在Canvas.Width 上设置动画如何为Rectangle.Width 设置动画
- 是不是因为Canvas.Width、Rectangle.Width或FrameworkElement.Width都指向FrameowrkElement.Width属性,因为Width是在FrameworkElement中定义的,而Canvas/Rectangle都是由它派生而来的。
- 还是因为通过继承,Canvas 和 Rectangle 都成为了依赖属性的所有者。
【问题讨论】:
-
有趣!!!!。很想知道原因。
标签: c# .net wpf xaml dependency-properties