2016-12-07 95 views
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#框架4.5.1 - 掺和Visual Studio 2013 - Visual Studio 2013(我在两个地方都遇到了这个错误)。

所有的导入和引用都很好。

我检查溶液性质,我的目标平台是“任何CPU”

我的猜测是,这个属性可能不适用于此控制(DataGridColumnHeader)。

希望任何人都能说出正确的方法来实现我的目标。

在此先感谢

+1

我不相信MSDN上的代码无法编译。请提供链接。我以为你一定改变了一些东西。 –

+0

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

回答

0

它试图用一个DynamicResource它被定义之前..尝试更换样式。另外,在这里IMO确实不需要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

我知道Styles订单与这个问题无关。我已经尝试更简单的东西,如: <形式X:键= “DGHeaderStyle” 的TargetType = “DataGridColumnHeader”> 东西可能已更改版本之间因为背景属性似乎不是为DataGridColumnHeader –

+0

存在属性名称是区分大小写的。使用“背景”(小写字母g) –

+1

卓越,这是我的问题,谢谢! –