Dragablz梯形选项卡背景(WPF)

时间:2018-10-01 10:52:29

标签: wpf tabs

我正在使用Dragablz和Mahapps,并且希望能够在现代的“材料设计”类型选项卡和梯形选项卡之间切换。我创建了两种TabablzControl样式,可以在它们之间进行切换,并具有CustomHeaderViewModel,我也可以对其进行更改以调整其外观以适应不断变化的选项卡样式。我的标题有一个带有文本块和图标的堆栈面板。我可以更改SP的背景颜色,但是在梯形模式下,我不知道如何更改梯形的背景以匹配所选的颜色主题。

这是我的两种风格:

GetSelectedFieldValues

Example:

您可以看到堆栈面板周围的区域比SP本身浅。如何更改梯形的颜色?

谢谢,史蒂夫

2 个答案:

答案 0 :(得分:0)

好吧,我找不到执行此操作的好方法,因此我在自定义标头代码的Loaded()函数中添加了代码来查找“梯形”类型:

        var trap = TryFindParent<Trapezoid>(this);

        if (null != trap)
        {
            trap.Background = Application.Current.Resources["AccentColorBrush1"] as SolidColorBrush;
        }

TryFindParent从这里:How can I find WPF controls by name or type?

它将为我做。更改颜色通常只会执行一次,并且保存设置。

谢谢

答案 1 :(得分:0)

我认为您可以基于TrapezoidDragableTabItemStyle创建新样式并覆盖Background属性。

此后,您必须在ItemContainerStyle的{​​{1}}属性中设置此新样式。