2017-09-07 96 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}">