【发布时间】:2023-03-05 15:19:01
【问题描述】:
我想为BorderBrushProperty 的控件指定一个资源作为默认值。画笔的原因是我在 XAML 中定义的 LinearGradientBrush。所以我在我的静态 CTOR(第 3 行)中寻找类似的东西:
static Gauge()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof (Gauge), new FrameworkPropertyMetadata(typeof (Gauge)));
BorderThicknessProperty.OverrideMetadata(typeof (Gauge), new FrameworkPropertyMetadata(new Thickness(16)));
BorderBrushProperty.OverrideMetadata(typeof (Gauge), new FrameworkPropertyMetadata("OuterFrameStroke"));
}
这就是我的 XAML 的样子(在主题\generic.xaml 中):
<LinearGradientBrush x:Key="OuterFrameStroke" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF636060" Offset="1" />
<GradientStop Color="#FF5F5C5C" Offset="0" />
<GradientStop Color="#FFEEDEDE" Offset="0.35" />
<GradientStop Color="#FFA09595" Offset="0.705" />
</LinearGradientBrush>
【问题讨论】: