【问题标题】:A few AvalonDock styling questions (WPF)几个 AvalonDock 样式问题 (WPF)
【发布时间】:2023-04-02 21:29:01
【问题描述】:

我正在尝试将 AvalonDock 实现到我的应用程序中,但我无法弄清楚一些样式技术。如果有人可以帮助解决以下几个问题,我将不胜感激:

1) 有没有办法从 DocumentPane 中删除主要的“关闭”按钮,而是将单个按钮放在选项卡上?

2) 我的应用程序中有自定义样式的按钮,它们放置在 DockableContent 元素中。只要 DockableContent 停靠,按钮就会使用我的自定义模板,但是如果将包含 DockableContent 的 DockablePane 拉出并使其浮动,则按钮会丢失其模板。有什么技巧可以让它保持不变吗?

提前感谢您的帮助!

【问题讨论】:

    标签: wpf templates styles avalondock


    【解决方案1】:

    关于#2,这似乎是 AvalonDock 中的一个问题。我有一个 TabControl 在其可停靠内容浮动时失去其样式。停靠后,样式会恢复。

    解决方法是重置 StateChanged 事件的样式。

    private void OnDockableContentStateChanged (object sender, RoutedEventArgs e)
    {
        if (uxDockableContent.State == DockableContentState.DockableWindow)
        {
            foreach (TabItem tabItem in uxTabControl.Items)
            {
                tabItem.Style = FindResource ("TabItemStyle") as Style;
            }
        }
    }
    

    【讨论】:

    • 我注意到,如果你为元素本身设置样式,一切都很好。只有在 Window.Resources 中设置样式然后在元素本身上引用它时,才会出现该错误。
    【解决方案2】:

    我很幸运,只需下载源代码、进行更改并重新编译 DLL 即可解决此问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-13
      • 1970-01-01
      • 1970-01-01
      • 2011-12-11
      • 2011-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多