所以我有这样的DataGrid:WPF DataGrid不拾取CollectionChanged事件?
<DataGrid d:DataContext="{d:DesignData Source=../DesignData/ValidationMessages.xaml}" DataContext="{Binding Messages, Mode=OneWay}" ItemsSource="{Binding Mode=OneWay}" Name="Grid">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Message}" Header="Message"/>
<DataGridTextColumn Binding="{Binding ControlID}" Header="ID"/>
</DataGrid.Columns>
</DataGrid>
,我有这样的特性:
public ObservableCollection<ValidationMessage> Messages = new ObservableCollection<ValidationMessage>();
,我有这样的代码:
Messages.Add(message);
而且DataGrid不显示的变化。它应该,对吧?我觉得我已经做了这一百万次,但由于某种原因,它不工作。
我将整个控件的DataContext设置为自己的代码隐藏,没有运气。我试图搞乱绑定的BindingMode,什么都没有。
当我检查执行过程中的DataGrid,它显示的项目数为0
任何人都知道我做错了,或者我可以试一下?
你在任何时候都在更改Messages集合本身吗? (有没有其他的'Messages = something;'别的地方?)你会不会在代码中的任何地方乱用itemssource或datacontext?您是否在输出窗口中看到任何绑定的警告/错误? –