我正在使用Dragablz和Mahapps,并且希望能够在现代的“材料设计”类型选项卡和梯形选项卡之间切换。我创建了两种TabablzControl样式,可以在它们之间进行切换,并具有CustomHeaderViewModel,我也可以对其进行更改以调整其外观以适应不断变化的选项卡样式。我的标题有一个带有文本块和图标的堆栈面板。我可以更改SP的背景颜色,但是在梯形模式下,我不知道如何更改梯形的背景以匹配所选的颜色主题。
这是我的两种风格:
GetSelectedFieldValues
您可以看到堆栈面板周围的区域比SP本身浅。如何更改梯形的颜色?
谢谢,史蒂夫
答案 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}}属性中设置此新样式。