我有两个数据网格和一个按钮的视图。 第一个数据网格包含文章列表,第二个数据网格为空,用户按下按钮后,将在此数据网格中添加所选文章。 我在此项目中添加Caliburn.Micro以使用“屏幕”。问题是,如果我按添加文章按钮,没有任何改变,并且数据网格总是空的。 这是XAML代码:WPF Datagrid NotifyOfPropertyChange不起作用
<DataGrid temsSource="{Binding Articles}"
AutoGenerateColumns="False" HorizontalAlignment="Left" CanUserAddRows="False" >
<DataGrid.Columns>
<DataGridTextColumn Header="Id" Binding="{Binding Id}"/>
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
<DataGridTextColumn Header="Price" Binding="{Binding Price}" />
</DataGrid.Columns>
</DataGrid>
而这个视图模型代码:
public class ShellViewModel : Screen
{
public List<Article> _articles;
public List<Article> Articles
{
get { return _articles; }
set
{
if (value != _articles)
{
_articles = value;
NotifyOfPropertyChange("Articles");
}
}
}
public void AddArticle()
{
Articles.Add(new Article
{
Id = ArticleSelected.Id,
Name = ArticleSelected.Name,
Price = ArticleSelected.Price,
});
NotifyOfPropertyChange("Articles");
}
}
我哪里错了?
还有收集CM称为BindableCollection基础上,的ObservableCollection – mvermef