2017-09-07 92 views
1

我在我的WPF应用程序中使用Xceed.Wpf.AvalonDock在Avalon Dock中更改主题

我想在我的应用程序的开始页面上有一个功能,它让用户可以通过点击按钮/链接来改变应用程序的主题。

任何建议如何做到这一点?

目前,我正在使用XAML下面的代码来设置Aero主题:

<avalonDock:DockingManager.Theme> 
    <avalonDock:AeroTheme/> 
</avalonDock:DockingManager.Theme> 
+0

拼写固定。 –

回答

0

您应该能够像任何其他财产绑定做到这一点:

<avalonDock:DockingManager Theme="{Binding ThemeProperty}"> 
... 
</avalonDock:DockingManager> 

然后在你的代码只是让你的按钮或任何控制你使用变化ThemeProperty

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> 

然后在这些物品的标签名称用于DockingManager结合Theme属性:

<xcad:DockingManager Theme="{Binding ElementName=_themeCombo, Path=selectedItem.Tag}">