为什么我的CollectionChanged事件为空?

时间:2012-11-21 18:54:29

标签: c# wpf events data-binding datagrid

我的绑定是这样设置的:

<Grid Name="motherGrid">
<Grid.RowDefinitions>
    <RowDefinition />
    <RowDefinition />
</Grid.RowDefinitions>
<DataGrid ItemsSource="{Binding}"  Name="LoadGrid" Grid.Row="0"></DataGrid>
<Button Grid.Row="1" Click="Button_Click_1">Hello</Button>
</Grid>

在后面的代码中,我将datacontext设置为VM对象,其中包含一个不可数的负载列表

 motherGrid.DataContext = VM.Loads;

按下按钮时,将调用AddLoad方法

public void AddLoad(Load load)
{
   Loads.Add(load);
   if (CollectionChanged != null)
       CollectionChanged(this, new NotifyCollectionChangedEventArgs(new NotifyCollectionChangedAction()));
}

但是,CollectionChanged事件确实为null,因此事件不会被触发。如何将DataGrid添加到CollectionChanged事件?

1 个答案:

答案 0 :(得分:0)

根据评论,我改变了这个:

public List<Load> Loads = new List<Load>();

到此:

public ObservableCollection<Load> Loads = new ObservableCollection<Load>();