为什么赢了';这不会改变我的WPF数据网格标题的颜色吗?

为什么赢了';这不会改变我的WPF数据网格标题的颜色吗?,wpf,xaml,datagrid,wpfdatagrid,Wpf,Xaml,Datagrid,Wpfdatagrid,我在datagrid中填充代码,如下所示: var customers = from c in _db.Customers select c; TheDataGrid.ItemsSource = customers.ToList(); 在我下面的XAML中,DataGrid.RowBackground可以工作,但DatagridHeaderOrder在运行时的代码隐藏中得到错误“在使用ItemsSource之前,项目列表必须为空” 这很奇怪,因为我只是试图更改D

我在datagrid中填充代码,如下所示:

var customers = from c in _db.Customers
                select c;
TheDataGrid.ItemsSource = customers.ToList();
在我下面的XAML中,DataGrid.RowBackground可以工作,但DatagridHeaderOrder在运行时的代码隐藏中得到错误“在使用ItemsSource之前,项目列表必须为空”

这很奇怪,因为我只是试图更改Datagrid标题的颜色,而ItemsSource出现了问题。如果我取出DataGridHeaderOrder行,它可以正常工作

那么如何简单地更改数据网格上列标题的颜色呢?

        <toolkit:DataGridHeaderBorder Background="yellow"/>

        <toolkit:DataGrid.RowBackground>
            <LinearGradientBrush EndPoint="-0.136,-0.163" StartPoint="1.291,1.248">
                <GradientStop Color="#FFA8A929" Offset="0.004"/>
                <GradientStop Color="#FFF7F7ED" Offset="0.991"/>
            </LinearGradientBrush>
        </toolkit:DataGrid.RowBackground>


任何时候在元素中放置元素时,XAML解析器都必须确定子元素是否是复杂的属性分配(正如您试图做的那样),或者您是否希望子元素成为父元素的“内容”。因为您的问题“DataGridHeaderOrder”标记不是以“toolkit:DataGrid”开头的,所以假定您正在尝试将DataGrid的内容属性(恰好是项)设置为此值

我无法尝试此操作,但我想您需要将问题标签替换为以下内容:

<toolkit:DataGrid.RowHeaderStyle>
    <Style TargetType="{x:Type toolkit:DataGridRowHeader}">
        <Setter Property="Background" Value="Yellow" />
    </Style>
</toolkit:DataGrid.RowHeaderStyle>