0

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

Это код, который я пытался реализовать, я получил это от 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 - смесь для Visual Studio 2013 - Visual Studio 2013 (я получил ошибку в обоих местах).

Весь импорт и ссылки в порядке.

меня проверить свойства раствора и моя целевая платформа является «Любой процессор»

Моя догадка это свойство может быть устаревшим для этого элемента управления (DataGridColumnHeader).

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

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

+1

Я не верю, что код на MSDN не скомпилирован. укажите ссылку. Я думал, вы, должно быть, что-то изменили. –

+0

https://msdn.microsoft.com/en-us/library/system.windows.controls.datagrid.columnheaderstyle(v=vs.110).aspx –

ответ

0

Он пытается использовать DynamicResource прежде, чем это определено .. Попробуйте поменять стилей. Кроме того, здесь нет необходимости в DynamicResource здесь ИМО, просто измените его на 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> 
+0

Я знаю, что факт, что порядок стилей не имеет ничего общего с этой проблемой , я попробовал что-то простое, как: Что-то может измениться между версиями, потому что кажется BackGround собственности не существует для DataGridColumnHeader –

+0

имена свойств чувствительны к регистру. Используйте «Фон» (нижний регистр) –

+1

Отличный, это была моя проблема, спасибо !!! –