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

StackOverflow https://stackoverflow.com/questions/154206

  •  03-07-2019
  •  | 
  •  

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

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

这里发生了什么?

有帮助吗?

解决方案

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

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

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

对于解决方法(至少在我的方案中),请参阅: WPF论坛帖子

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

科里

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top