无法在 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" ... />