我把我的长方形放在画布上的wpf。我们给这个矩形使用"FrameworkElement.With“给出了FrameworkElement.With。如果在完成动画后尝试更改矩形宽度,则它不会更改。你能猜到为什么吗?
发布于 2018-09-12 11:57:08
动画将更改并保持该值具有较高的优先级,因此您的正常设置值将无法工作。有关依赖项属性值Precedence的详细信息,您可以阅读Microsoft。
您有两种不同的方法来更改动画属性值。
第一个。不要分配动画To属性
如果以如下方式创建动画,则需要删除To属性。
<DoubleAnimation Storyboard.TargetName="element" Storyboard.TargetProperty="Width"
From="0" To="100" Duration="0:0:1" />删除To。
<DoubleAnimation Storyboard.TargetName="element" Storyboard.TargetProperty="Width"
From="0" Duration="0:0:1" />当您试图开始动画时,请按如下方式调用:
storyboard.Begin();
element.Width = 100;通过这种方式,您的故事板将开始,然后将您的Width动画到您的上一个设置值。
第二名。从Width属性中删除动画
每次完成故事板或动画时,开始另一个null动画,以删除Width属性的更高优先级值。
element.BeginAnimation(WidthProperty, null);https://stackoverflow.com/questions/52293632
复制相似问题