我在新项目中使用Infragistics WPF控件,我想利用他们的主题支持。我可以通过OnThemeChanged事件更改我的窗口(和工具栏)的主题,但我无法弄清楚如何更改子控件的主题(例如XamDockManager),因为它们是在运行时添加的。
我是WPF和Infragistics控件的新手,所以任何澄清都是值得赞赏的。
答案 0 :(得分:1)
我发现了答案。
您需要将控件的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>