我收到此错误
'disable_glow'名称在'System.Windows.Controls.ControlTemplate'的名称范围内找不到。
尝试这样做时:
<LinearGradientBrush Opacity="0.0" StartPoint="0,0"
EndPoint="0,1" x:Key="disable_glow" x:Name="disable_glow">
<GradientStop Offset="0.0" Color="#4D4D4D" />
<GradientStop Offset="0.1" Color="#404040" />
<GradientStop Offset="1.0" Color="#2E2E2E" />
</LinearGradientBrush>
在这里:
<Border CornerRadius="4">
<Border.Background>
<DrawingBrush>
<DrawingBrush.Drawing>
<DrawingGroup>
<GeometryDrawing Brush="{StaticResource disable_glow}">
<GeometryDrawing.Geometry>
<RectangleGeometry Rect="0,0,1,1"/>
</GeometryDrawing.Geometry>
</GeometryDrawing>
...
当我使用StaticResource或DynamicResource关键字时,我得到相同的错误。
那么如何正确使用它呢?
答案 0 :(得分:0)
如果它位于ResourceDictionary(即Resources集合)中,则无需在LinearGradientBrush上设置x:Name
属性。您只需将x:Key
设置为可以访问它。
Brush="{StaticResource disable_glow}"
代码不会产生您获得的错误。如果没有找到资源,则会说“未找到资源”。听起来你正在尝试按名称访问它。
您需要确保在ControlTemplate之前定义了LinearGradientBrush。