您可以在Style或ControlTemplate中包含的Storyboard中使用DynamicResource吗?

时间:2008-09-30 17:54:46

标签: wpf animation

我正在尝试在ControlTemplate中包含的Storyboard中使用DynamicResource。

但是,当我尝试这样做时,我得到一个'无法冻结此Storyboard时间轴树以供跨线程使用'错误。

这里发生了什么?

1 个答案:

答案 0 :(得分:28)

不,您不能在Style或ControlTemplate中包含的Storyboard中使用DynamicResource。实际上,您也不能使用数据绑定表达式。

这里的故事是Style或ControlTemplate中的所有内容必须安全,可以跨线程使用,并且计时系统实际上会尝试冻结Style或ControlTemplate以使其成为线程安全的。但是,如果存在DynamicResource或数据绑定表达式,则无法冻结它们。

有关详细信息,请参阅:MSDN Link。查看“样式中的动画”和“ControlTemplate中的动画”部分(此文档页面相当长)。

对于解决方法(至少在我的方案中),请参阅:WPF Forum Post

希望这有助于某人。我已经失去了足够多的头发。

科里