更改(或集中)WPF窗口上所有控件的属性值

本文关键字:控件 属性 窗口 集中 WPF 更改 | 更新日期: 2023-09-27 18:21:48

WPF新手,所以我相信这很容易;对于特定类型/s的每个控件,我希望将一个属性设置为相同的值。属性是telerik:Theming.Theme,我想对所有telerik:控件应用相同的值。如果没有办法做到这一点,那么我如何使用资源来定义这个值并引用控件中的资源?

谢谢。

更改(或集中)WPF窗口上所有控件的属性值

您可以在应用程序初始化代码(例如MainWindow的静态构造函数)中通过DependencyProperty.OverrideMetadata覆盖特定控件类型(确切地说是特定类型的依赖对象)的任何依赖属性的默认值:

Telerik.Windows.Controls.Theming.ThemeProperty.OverrideMetadata(
    typeof(SomeControlClass),
    new PropertyMetadata(SomeDefaultValue));

其中SomeControlClass是要为Theme属性指定新默认值的(基类),SomeDefaultValue是新默认值。

还要注意的是,Theming.ThemeProperty似乎已经过时,并且将被StyleManager.ThemeProperty所取代。

您不需要定义用于绑定的资源,但需要在ModelView上定义属性并将其绑定到每个控件。