![]() |
1
1
这是设计出来的。如果将可冻结的对象放入样式中,样式将被冻结以允许跨线程访问。但是绑定本质上是一个表达式,这意味着它不能被冻结,因为数据绑定是单线程的。 如果需要这样做,请将触发器放在样式外部的框架元素下,而不是样式中。您可以在网格中执行此操作。触发器部分。这确实有点糟糕,因为您的样式不再完整,您必须复制触发器,但它是WPF中的“按设计”特性。 在msdn社交论坛上的完整答案是 here . |
![]() |
2
0
您可以创建一个新的Freezable派生类来作为填充程序启动故事板。将该填充程序对象上的属性绑定到情节提要名称。这样,您就不必复制触发器或将它们存储在样式之外。 |
![]() |
3
0
为了解决这个问题,我创建了一组附加属性,称为故事板帮助器( source code here )我放弃了尝试将它们附加到故事板本身,现在附加到任何(任意)框架元素,以便在故事板完成时在我的ViewModel上调用ICommand,以及绑定到我的ViewModel上的特定事件以启动故事板。第三个附加属性指定了我们要处理的情节提要:
|
![]() |
user180708 · 将日期转换为英文日期 6 年前 |
![]() |
Anthony Smyth · 如何更改禁用WPF按钮的按钮样式? 6 年前 |
![]() |
Donat · 在XAML中绑定单例(UWP) 6 年前 |
![]() |
Amibluesky · 扩展/减少文本块WPF/Xaml中的符号 6 年前 |
![]() |
smoore4 · 访问代码隐藏中的XAML绑定 6 年前 |