WPF 关于动画的束缚设置
WPF中如果我设置完动画,再通过其他的设置来修改动画中的属性时,那这些属性就被锁住了,这时这个属性是不能够设置的。有很多种方法可以来把这个动画解锁。我做了一个小的Demo来设置这个值。
<DockPanel LastChildFill="True"> <StackPanel DockPanel.Dock="Bottom" Orientation="Horizontal" HorizontalAlignment="Center"> <Button Name="cmdStart" Height="50" Width="100" Margin="10" Click="Button_Click">Start</Button> <Button Height="50" Width="100" Margin="10" Click="ButtonSet_Click">Set</Button> <Button Height="50" Width="100" Margin="10" Click="ButtonStop_Click">Stop</Button> </StackPanel> <Label DockPanel.Dock="Top" Name="label" HorizontalContentAlignment="Center" Content="{Binding ElementName=button,Path=Width}" Width="200" Height="200" FontSize="50"/> <Button Name="button" Width="0"/> </DockPanel>
public partial class MainWindow : Window { PauseStoryboard story = new PauseStoryboard(); DoubleAnimation animation = new DoubleAnimation(); public MainWindow() { InitializeComponent(); } private void Button_Click(object sender, RoutedEventArgs e) { animation.From = 0; animation.To = 100; animation.Duration = TimeSpan.FromSeconds(5); button.BeginAnimation(Button.WidthProperty, animation); } private void ButtonStop_Click(object sender, RoutedEventArgs e) { var temp = (double)button.GetValue(Button.WidthProperty); button.BeginAnimation(Button.WidthProperty, null); button.Width = temp; } private void ButtonSet_Click(object sender, RoutedEventArgs e) { button.Width = 20; } }
由上面的例子可以看到当我开始这个动画后,如果你直接点击Set的话这个属性是不能设置的。当你点击Stop时,如果你直接只用上这句话:
button.BeginAnimation(Button.WidthProperty, null ); |
那么设置将停止时,他的动画会回到原点,这样也可以继续设置值。而我上面的这个方法是使动画还在原来的位置停住,继而继续设置值。这两种根据个人的需要来选择。这个只是其中的一种。还有许多方法来设置值。可以参考下面这个blog,里面把所有的可能用到的停止方法都用到了:http://www.cnblogs.com/alamiye010/archive/2009/08/26/1554539.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术