我有StoryBoard的资源
<Window.Resources>
<Storyboard x:Key="Fading" Storyboard.TargetName="NotifyWindow" Storyboard.TargetProperty="Opacity" >
<DoubleAnimation From="1" To="0" Duration="0:0:1">
</DoubleAnimation>
</Storyboard>
</Window.Resources>
在WindowClosing上,我有下一个代码
private void NotifyWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
Storyboard fading = this.Resources["Fading"] as Storyboard;
if (fading != null && !fadingCompleted)
{
fading.Completed += FadingStoryBoard_Completed;
fading.Begin();
e.Cancel = true;
}
}
private void FadingStoryBoard_Completed(object sender, EventArgs e)
{
fadingCompleted = true;
Close();
fadingCompleted = false;
}
效果很好,但是我想将此 Storyboard 移动到另一个程序集。所以我需要指定
StoryBoard.TargetName
表单代码。我怎样才能做到这一点? 最佳答案
可以通过名为"Set" + PropertyName
的静态帮助器方法从代码中设置附加属性。
参见C#示例here:
Storyboard.SetTargetName(yourAnimation, "NotifyWindow");
关于c# - StoryBoard-从后台代码设置目标名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5301018/