我在WPF应用程序中使用Xceed.Wpf.AvalonDock
。
我想在我的应用程序的起始页面上有一个功能,它允许用户通过单击按钮/链接来更改应用程序的主题。
有任何建议怎么做?
目前,我在XAML中使用以下代码来设置Aero主题:
<avalonDock:DockingManager.Theme>
<avalonDock:AeroTheme/>
</avalonDock:DockingManager.Theme>
答案 0 :(得分:0)
你应该可以像任何其他属性一样使用绑定来执行此操作:
<avalonDock:DockingManager Theme="{Binding ThemeProperty}">
...
</avalonDock:DockingManager>
然后在您的代码中只需使用您的按钮或您使用的任何控件更改ThemeProperty
答案 1 :(得分:0)
您可以添加一个包含主题名称的组合框,同时每个项目的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>
然后,项目中的这些标记名称用于绑定Theme
中的DockingManager
属性:
<xcad:DockingManager Theme="{Binding ElementName=_themeCombo, Path=selectedItem.Tag}">
答案 2 :(得分:0)
您可以这样设置主题修复程序:
<xcad:DockingManager Grid.Row="1" MaxHeight="425"
AllowMixedOrientation="True"
BorderBrush="Black"
BorderThickness="1"
>
<xcad:DockingManager.Theme>
<xcad:MetroTheme />
</xcad:DockingManager.Theme>
</xcad:DockingManager>