添加DataGridCell样式时为什么会出现异常?

时间:2014-12-17 00:07:22

标签: wpf itemssource datagridcell

以下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。

1 个答案:

答案 0 :(得分:3)

你的风格很好。问题是您如何将样式应用于DataGrid

您定义样式的方式就像试图说&#34;让我们将样式注入Content&#34;的DataGrid,以及&#39;这就是你看到这个错误的原因。

  

在使用ItemsSource之前,项目集合必须为空。

尝试使用以下代码将样式添加到DataGrid的{​​{1}}属性中。

CellStyle