首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StoryBoard -从代码隐藏设置目标名称

StoryBoard -从代码隐藏设置目标名称
EN

Stack Overflow用户
提问于 2011-03-14 23:51:46
回答 2查看 12.8K关注 0票数 12

我在资源中有StoryBoard

代码语言:javascript
复制
  <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上,我有下一个代码

代码语言:javascript
复制
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表单代码。我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-14 23:56:28

附加的属性可以通过名为"Set" + PropertyName的静态帮助器方法从代码中设置

请参见C#示例here

代码语言:javascript
复制
Storyboard.SetTargetName(yourAnimation, "NotifyWindow"); 
票数 19
EN

Stack Overflow用户

发布于 2012-03-08 16:51:00

为依赖项对象设置依赖项属性的标准方法与附加属性相同:

代码语言:javascript
复制
dependencyObjectInstance.SetValue(SampleClass.PropertyName + "Property", value);

在您的示例中:

代码语言:javascript
复制
fading.SetValue(Storyboard.TargetNameProperty, "NotifyWindow");
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5301018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档