StoryBoard – 从代码隐藏中设置目标名称
我有资源中的StoryBoard
在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
表单代码。 我怎样才能做到这一点?
可以通过名为"Set" + PropertyName
静态辅助方法从代码设置附加属性
请参阅此处的 C#示例:
Storyboard.SetTargetName(yourAnimation, "NotifyWindow");
将依赖项属性设置为依赖项对象的标准方法与附加属性相同:
dependencyObjectInstance.SetValue(SampleClass.PropertyName + "Property", value);
在你的例子中:
fading.SetValue(Storyboard.TargetNameProperty, "NotifyWindow");