我正在尝试在ControlTemplate中包含的Storyboard中使用DynamicResource。
但是,当我尝试这样做时,我得到一个'无法冻结此Storyboard时间轴树以供跨线程使用'错误。
这里发生了什么?
答案 0 :(得分:28)
不,您不能在Style或ControlTemplate中包含的Storyboard中使用DynamicResource。实际上,您也不能使用数据绑定表达式。
这里的故事是Style或ControlTemplate中的所有内容必须安全,可以跨线程使用,并且计时系统实际上会尝试冻结Style或ControlTemplate以使其成为线程安全的。但是,如果存在DynamicResource或数据绑定表达式,则无法冻结它们。
有关详细信息,请参阅:MSDN Link。查看“样式中的动画”和“ControlTemplate中的动画”部分(此文档页面相当长)。
对于解决方法(至少在我的方案中),请参阅:WPF Forum Post。
希望这有助于某人。我已经失去了足够多的头发。
科里