在Avalon Dock中更改主题
问题描述:
我在我的WPF应用程序中使用Xceed.Wpf.AvalonDock
。在Avalon Dock中更改主题
我想在我的应用程序的开始页面上有一个功能,它让用户可以通过点击按钮/链接来改变应用程序的主题。
任何建议如何做到这一点?
目前,我正在使用XAML下面的代码来设置Aero主题:
<avalonDock:DockingManager.Theme>
<avalonDock:AeroTheme/>
</avalonDock:DockingManager.Theme>
答
您应该能够像任何其他财产绑定做到这一点:
<avalonDock:DockingManager Theme="{Binding ThemeProperty}">
...
</avalonDock:DockingManager>
然后在你的代码只是让你的按钮或任何控制你使用变化ThemeProperty
答
你可以添加一个组合框,其中包含主题名称,也是每个项目的Tag
充满了与其相关联的主题名称:
<ComboBox>
<ComboBoxItem Content="Generic" />
<ComboBoxItem Content="Aero">
<ComboBoxItem.Tag>
<xcad:AeroTheme />
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="VS2010">
<ComboBoxItem.Tag>
<xcad:VS2010Theme />
</ComboBoxItem.Tag>
</ComboBoxItem>
<ComboBoxItem Content="Metro">
<ComboBoxItem.Tag>
<xcad:MetroTheme />
</ComboBoxItem.Tag>
</ComboBoxItem>
</ComboBox>
然后在这些物品的标签名称用于DockingManager
结合Theme
属性:
<xcad:DockingManager Theme="{Binding ElementName=_themeCombo, Path=selectedItem.Tag}">
拼写固定。 –