无法在 ResourceDictionary 中找到资源
Cannot find resource into ResourceDictionary
我有一个通用的 ResourceDictionary,它使用 Microsoft 示例来使用黑色 ComboBox
Microsoft Exemple
执行中抛出异常:
异常:找不到名为 'NormalBorderBrush' 的资源。资源名称区分大小写。
我只想在我的公共 ResourceDictionary xaml 文件中声明这个组合框
<!-- Combo box-->
<ControlTemplate x:Key="ComboBoxToggleButton" TargetType="ToggleButton">
<Border
x:Name="Border"
Grid.ColumnSpan="2"
CornerRadius="2"
...
BorderBrush="{StaticResource NormalBorderBrush}"
BorderThickness="1" />
...
<!-- Border Brushes -->
<LinearGradientBrush x:Key="NormalBorderBrush" StartPoint="0,0" EndPoint="0,1">
<GradientBrush.GradientStops>
<GradientStopCollection>
<GradientStop Color="#CCC" Offset="0.0"/>
<GradientStop Color="#444" Offset="1.0"/>
</GradientStopCollection>
</GradientBrush.GradientStops>
</LinearGradientBrush>
NormalBorderBrush 在同一文件中声明!
我做错了什么?
提前致谢。
埃里克
定义资源的顺序很重要。
XAML编译器从上到下处理文件,所以要在ControlTemplate
中引用NormalBorderBrush
,需要定义刷之前您定义模板:
<LinearGradientBrush x:Key="NormalBorderBrush" ... />
<ControlTemplate x:Key="ComboBoxToggleButton" ... />
我有一个通用的 ResourceDictionary,它使用 Microsoft 示例来使用黑色 ComboBox Microsoft Exemple
执行中抛出异常: 异常:找不到名为 'NormalBorderBrush' 的资源。资源名称区分大小写。
我只想在我的公共 ResourceDictionary xaml 文件中声明这个组合框
<!-- Combo box-->
<ControlTemplate x:Key="ComboBoxToggleButton" TargetType="ToggleButton">
<Border
x:Name="Border"
Grid.ColumnSpan="2"
CornerRadius="2"
...
BorderBrush="{StaticResource NormalBorderBrush}"
BorderThickness="1" />
...
<!-- Border Brushes -->
<LinearGradientBrush x:Key="NormalBorderBrush" StartPoint="0,0" EndPoint="0,1">
<GradientBrush.GradientStops>
<GradientStopCollection>
<GradientStop Color="#CCC" Offset="0.0"/>
<GradientStop Color="#444" Offset="1.0"/>
</GradientStopCollection>
</GradientBrush.GradientStops>
</LinearGradientBrush>
NormalBorderBrush 在同一文件中声明! 我做错了什么?
提前致谢。 埃里克
定义资源的顺序很重要。
XAML编译器从上到下处理文件,所以要在ControlTemplate
中引用NormalBorderBrush
,需要定义刷之前您定义模板:
<LinearGradientBrush x:Key="NormalBorderBrush" ... />
<ControlTemplate x:Key="ComboBoxToggleButton" ... />