我在下面的代码中填充了数据集:
var customers = from c in _db.Customers
select c;
TheDataGrid.ItemsSource = customers.ToList();在下面的XAML中,DataGrid.RowBackground可以工作,但是 DataGridHeaderBorder会得到错误“在运行时在代码隐藏中使用ItemsSource"之前,项目列表必须为空。
这很奇怪,因为我只是试图更改Datagrid的颜色,而ItemsSource会出现问题。如果我把DataGridHeaderBorder线去掉,它就能正常工作。
,那么如何简单地改变数据栅格上列标题的颜色呢?
<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>发布于 2009-03-26 19:57:48
当您将元素放入元素中时,XAML解析器必须决定子元素是复杂的属性赋值(就像您试图做的那样),还是要将子元素作为父元素的“内容”。因为您的问题"DataGridHeaderBorder“标记没有以"toolkit:DataGrid”开头,所以假设您试图将DataGrid的内容属性(恰好是项)设置为此值。
我无法尝试这样做,但我想您需要用以下内容替换问题标签:
<toolkit:DataGrid.RowHeaderStyle>
<Style TargetType="{x:Type toolkit:DataGridRowHeader}">
<Setter Property="Background" Value="Yellow" />
</Style>
</toolkit:DataGrid.RowHeaderStyle>https://stackoverflow.com/questions/686572
复制相似问题