c# - 第一个 WPF 动画然后在 Screen ViewModel 中运行代码
问题描述
您好,我有一个问题,我想做这个动画,然后当动画完成后,我想运行代码,但我想不出在 MVVM 中使用 CaliburnMicro 的方法。
如果可能,请帮助我。
<Button x:Name="Forgot">
<Button.RenderTransform>
<TranslateTransform />
</Button.RenderTransform>
<Button.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetName="UserName"
Storyboard.TargetProperty="RenderTransform.(TranslateTransform.X)"
From="0" To="-1000" Duration="0:0:1" />
<DoubleAnimation Storyboard.TargetName="Password"
Storyboard.TargetProperty="RenderTransform.(TranslateTransform.X)"
From="0" To="-1000" Duration="0:0:1" />
<DoubleAnimation Storyboard.TargetName="LogIn"
Storyboard.TargetProperty="RenderTransform.(TranslateTransform.X)"
From="0" To="-1000" Duration="0:0:1" />
<DoubleAnimation Storyboard.TargetName="Forgot"
Storyboard.TargetProperty="RenderTransform.(TranslateTransform.X)"
From="0" To="-1000" Duration="0:0:1" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
解决方案
一旦动画完成,您应该听Completed
事件 a引发。StoryBoard
您可以EventTrigger
为此使用 an (尽管我不确定这是否可行)或在 XAML 中绑定一个处理程序并在那时做任何您喜欢的事情。
更新:
XAML:
<Storyboard Completed="storyboard_Completed">
...
C#:
void storyboard_Completed(object sender, EventArgs args)
{
// Do whatever you want here.
}
推荐阅读
- deep-learning - 如何合并两个 ONNX 深度学习模型
- java - 如何将复杂的 Java 集合转换为另一个?
- postgresql - SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:5432 when using docker to use sequelize
- r - 保湿推文
- python - PyAudio:stream.write() 只播放它应该播放的长度的 1/4
- c# - MimeKit 主题编码和西里尔字母
- assembly - 具有空输入操作数约束的 gcc asm
- javascript - 如何制作具有相同高度内部元素的相同高度列?提出了错误的解决方案
- python - 如何将 Python 用户输入格式化为时间然后从该变量中减去?
- c# - @ActionLink 与枚举值