Участник "BackGround" не распознан или недоступен

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

Это код, который я пытался реализовать, я получил это со страницы MSDN:

<Window.Resources>
<!-- DataGrid style -->
<Style x:Key="DataGridStyle1" TargetType="{x:Type DataGrid}">
    <Setter Property="ColumnHeaderStyle" Value="{DynamicResource ColumnHeaderStyle1}"/>
</Style>
<!-- DataGridColumnHeader style -->
<Style x:Key="ColumnHeaderStyle1" TargetType="DataGridColumnHeader">
    <Setter Property="Height" Value="30"/>
    <Setter Property="Background" Value="LightBlue"/>
    <Setter Property="Foreground" Value="Blue"/>
    <Setter Property="FontSize" Value="18" />
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="ToolTip" Value="Click to sort."/>
        </Trigger>
    </Style.Triggers>
</Style>

Я использую: - C# Framework 4.5.1 - Blend для Visual Studio 2013 - Visual Studio 2013 (я получил ошибку в обоих местах).

Все импорта и ссылки просто отлично.

Я проверил свойства решения, и моей платформой является "Любой процессор"

Я предполагаю, что это свойство может быть признано устаревшим для этого элемента управления (DataGridColumnHeader).

Надеюсь, что кто-нибудь может сказать правильный способ достижения моей цели.

заранее спасибо

1 ответ

Решение

Он пытается использовать DynamicResource прежде чем он будет определен.. Попробуйте поменять стили. Кроме того, на самом деле нет необходимости в DynamicResource здесь IMO, просто измените его на StaticResource,

<Window.Resources>
    <!-- DataGridColumnHeader style -->
    <Style x:Key="ColumnHeaderStyle1" TargetType="DataGridColumnHeader">
        <Setter Property="Height" Value="30"/>
        <Setter Property="Background" Value="LightBlue"/>
        <Setter Property="Foreground" Value="Blue"/>
        <Setter Property="FontSize" Value="18" />
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="ToolTip" Value="Click to sort."/>
            </Trigger>
        </Style.Triggers>
    </Style>
    <!-- DataGrid style -->
    <Style x:Key="DataGridStyle1" TargetType="{x:Type DataGrid}">
        <Setter Property="ColumnHeaderStyle" Value="{StaticResource ColumnHeaderStyle1}"/>
    </Style>
</Window.Resources>
Другие вопросы по тегам