我在一个新项目中使用 Infragistics WPF 控件,我想利用它们的主题支持。我可以通过 OnThemeChanged 事件更改窗口(和工具栏)的主题,但我不知道如何更改子控件(例如 XamDockManager)的主题,因为它们是在运行时添加的。
我是 WPF 和 Infragistics 控件的新手,因此感谢您的澄清。
我在一个新项目中使用 Infragistics WPF 控件,我想利用它们的主题支持。我可以通过 OnThemeChanged 事件更改窗口(和工具栏)的主题,但我不知道如何更改子控件(例如 XamDockManager)的主题,因为它们是在运行时添加的。
我是 WPF 和 Infragistics 控件的新手,因此感谢您的澄清。
我发现了答案。
您需要将控件的Theme
属性设置为Theme.CurrentTheme
. 这将导致控件通过其内部OnThemeChanged
事件自动选择新主题。
这是我使用的代码,对此答案进行了一些简化:
<igDock:ContentPane xmlns:igTheme="clr-namespace:Infragistics.Windows.Themes;assembly=Infragistics3.Wpf.v9.1">
// other stuff
...
<igDock:XamDockManager "Theme="igTheme:ThemeManager.CurrentTheme" />
</igDock:ContentPane>