我在资源中有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.TargetName表单代码。我该怎么做呢?
发布于 2011-03-14 23:56:28
附加的属性可以通过名为"Set" + PropertyName的静态帮助器方法从代码中设置
请参见C#示例here
Storyboard.SetTargetName(yourAnimation, "NotifyWindow"); 发布于 2012-03-08 16:51:00
为依赖项对象设置依赖项属性的标准方法与附加属性相同:
dependencyObjectInstance.SetValue(SampleClass.PropertyName + "Property", value);在您的示例中:
fading.SetValue(Storyboard.TargetNameProperty, "NotifyWindow");https://stackoverflow.com/questions/5301018
复制相似问题