以下xaml给出了例外:"在使用ItemsSource之前,Items集合必须为空。"
在代码背后我们简单地说:
public MainWindow()
{
InitializeComponent();
DataContext = Customers;
Customers.Add(new Customer { Voornaam = "Tom", Achternaam = "Jones" });
Customers.Add(new Customer { Voornaam = "Joe", Achternaam = "Thompson" });
Customers.Add(new Customer { Voornaam = "Jill", Achternaam = "Smith" });
}
private List<Customer> _customers = new List<Customer>();
public List<Customer> Customers { get { return _customers; }}
<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="True">
<Style TargetType="{x:Type DataGridCell}" />
</DataGrid>
没有Style就没有例外。
Style是空的这一事实只是因为我在寻找提供异常的最小代码。添加setter不会改变任何东西
使用该样式的原因是我想调整自动生成列的controltemplate。
答案 0 :(得分:3)
你的风格很好。问题是您如何将样式应用于DataGrid
。
您定义样式的方式就像试图说&#34;让我们将样式注入Content
&#34;的DataGrid
,以及&#39;这就是你看到这个错误的原因。
在使用ItemsSource之前,项目集合必须为空。
尝试使用以下代码将样式添加到DataGrid
的{{1}}属性中。
CellStyle