动态样式

Style通常是一个静态对象,它在XAML或代码中创建和初始化,然后在应用程序的持续时间内保持不变。 Style类不是从BindableOb?ject派生的,也不在内部响应其属性的变化。 例如,如果将Style对象分配给元素,然后通过为其设置新值来修改其中一个Setter对象,则新值将不会显示在元素中。 同样,如果添加Setter或从Setters集合中删除Setter,则target元素不会更改。 要使这些新属性设置器生效,您需要使用代码通过将Style属性设置为null来将该样式与该元素分离,然后将该样式重新附加到该元素。
但是,您的应用程序可以通过使用DynamicResource在运行时动态响应样式更改。您会记得DynamicResource类似于StaticResource,因为它使用字典键从资源字典中获取对象或值

收藏 打印