avalondock - 更改 Avalon Dock 中的主题

标签 avalondock

我在 WPF 应用程序中使用 Xceed.Wpf.AvalonDock

我希望在我的应用程序的起始页上有一个功能,让用户可以通过单击按钮/链接来更改应用程序的主题。

有什么建议吗?

目前,我在 XAML 中使用以下代码来设置 Aero 主题:

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

最佳答案

您可以添加一个包含主题名称的组合框,并且每个项目的 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>

然后,items 中的这些标签名称用于绑定(bind)到 DockingManager 中的 Theme 属性:

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

关于avalondock - 更改 Avalon Dock 中的主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46087845/

相关文章:

wpf - AvalonDoc 2 垂直和水平方向

wpf - 如何解决 XAML 中的 'missing type' 错误?

wpf - 如何将自定义样式应用于 AvalonDock

wpf - DockableFloatingWindow 上的最大化和 Aero 捕捉

c# - DockingManager 是否带有用于处理 Anchorables 的内置方法

c# - AvalonDock - 如何禁止拉出窗口的 float 元素

wpf - 移除 AvalonDock 坞站并关闭按钮

c# - Avalondock-某些面板的布局恢复延迟

c# - 如何使 WinForms 表单在 AvalonDock 中作为 DockableContent 工作?