我可以参考XAML defind Visual States中的Storyboard资源吗?

问题描述:

我有六个不同的对象与他们自己的视觉状态管理器。每个对象的聚焦状态是相同的。我想定义一个单独的Focused State Storyboard资源并在6个Focus Visual状态中的每个状态中引用它。这可以做到吗?这里是我的代码(所有在同一UserControl.Resources):我可以参考XAML defind Visual States中的Storyboard资源吗?

<Storyboard x:Key="FocusedState"> 
    ... 
</Storyboard> 

在我的每次6个对象我有以下几点:

<VisualStateGroup x:Name="FocusStates"> 
<VisualState x:Name="Focused" Storyboard="{StaticResource FocusedState}"/> 
... 

当我运行该项目,我得到以下错误:

消息:属性{StaticResource FocusedState}值超出范围。

+0

我不认为故事板是可共享的。 – 2010-05-10 21:45:50

+0

不能分享什么意义?我知道我可以创建一个故事板,就像我已经完成的那样,并通过c#使用它,尽可能多的时间和地点。真正的问题是VisualStates是否可以引用资源。 Visual Studio似乎也这么认为,因为我没有得到上述语法的编译/解析错误。 – bob 2010-05-11 11:59:45

它看起来像使用动态资源引用或绑定来设置控制模板中的Storyboard或Animation值是不可能的。我在post找到了答案和解释。