Стиль не применяется к заголовку Datagrid в WPF ... Проблема с ресурсом - PullRequest
0 голосов
/ 06 октября 2009

Я пытаюсь использовать стиль заголовка для моей WPF DataGrid, которая находится в UserControl. но я получаю это:

Не удается найти ресурс с именем '{DataGridRowHeaderBackgroundStyle}'. Имена ресурсов чувствительны к регистру. Ошибка объекта "Microsoft.Windows.Controls.DataGridTextColumn" в файле разметки "WPF; component / view / dashboardview.xaml" Строка 17, позиция 50.

Я изменил StaticResource на DynamicResource. Нет ошибки, но стиль не меняется.

У меня есть стиль, определенный следующим образом:

<Style  x:Key="DataGridRowHeaderBackgroundStyle"  TargetType="{x:Type Primitives:DataGridColumnHeader}">
                    <Setter Property="Background">
                        <Setter.Value>
                            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                <GradientStop Color="White" Offset="0"/>
                                <GradientStop Color="#FF4C78F0" Offset="0.983"/>
                                <GradientStop Color="#FFEDF1FD" Offset="0.422"/>
                                <GradientStop Color="#FFACC0F7" Offset="0.069"/>
                            </LinearGradientBrush>
                        </Setter.Value>
                    </Setter>
                </Style>

внутри Window.xaml в качестве ресурса

   <Window.Resources>
        <ResourceDictionary Source="MainDebugResources.xaml" />
    </Window.Resources>

Это в пользовательском контроле

<data:DataGridTextColumn HeaderStyle="{StaticResource DataGridRowHeaderBackgroundStyle}"  Header="Error" Width="*"
                                           Binding="{Binding Text}" IsReadOnly="True" />

Пожалуйста, дайте мне знать, если я делаю это неправильно.

Спасибо

Ответы [ 2 ]

1 голос
/ 06 октября 2009

Попробуйте включить ResourceDictionary:

<Window.Resources>
    <ResourceDictionary>
                    <ResourceDictionary.MergedDictionaries>
                        <ResourceDictionary Source="MainDebugResources.xaml" />                
                    </ResourceDictionary.MergedDictionaries>
                </ResourceDictionary>
</Window.Resources>
0 голосов
/ 14 января 2019

У меня возникла та же проблема, после долгих экспериментов я обнаружил, что стиль текстового блока перекрывает стиль заголовка столбца сетки, но только если он указан как ресурс приложения, а не как ресурс окна.

...