wpf - 无法将可观察集合绑定到数据网格
问题描述
我是WPF的新手,所以请原谅我的无知。我在网上读到,为了绑定工作,可观察集合应该是公共财产。所以,这是我到目前为止所做的:
我有一个类,我在其中声明了 observable,如下所示:
public ObservableCollection<InventoryDto> invCollection { get; set; }
public InventoryDto()
{
invCollection = new ObservableCollection<InventoryDto>();
}
public ObservableCollection<InventoryDto> observableList
{
get
{
return this.invCollection;
}
set
{
invCollection = value;
OnPropertyChanged("observableList");
}
}
然后,在我看来,我有这样的绑定:
ItemsSource="{Binding observableList,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
在后面的视图代码(即 view.xamls.cs)中,我填充了 observable:
foreach (var item in inventoryList)
{
invDto.invCollection.Add(new InventoryDto { location = item.location.Name, onHand = item.OnHand.ToString(), committed = item.committed.ToString() });
}
但是,除非添加以下代码,否则我在网格中看不到任何数据:
InventoryDataGrid.ItemsSource = invDto.observableList;
首先,我发现在后面的代码中添加这段代码很奇怪,而我已经在 xaml 中指定了 ItemsSource。其次,此代码填充网格。但是当我从 db 中删除一行时,尽管我指定了 BindingMode = TwoWay,但该行并没有在网格中被删除。
请让我知道我在这里缺少什么。
解决方案
推荐阅读
- web-services - 如果我和互联网之间有两个路由器,我还可以进行端口转发以公开我的本地网站吗?
- php - PHP 警告:非法字符串偏移 'all'
- ibm-watson - Watson Unity SDK 突然停止工作
- nlp - 创建词嵌入而不在存储库中保留 fastText Vector 文件
- python - 如果发现一次错误,则跳过循环内的部分代码
- python - 获取硒python的页数
- angular - 带有表单生成器的离子选择不显示正确的值
- swift - iOS 图表:如何在数据输入图标/圆点下绘制值?
- python - 如何检查字符串列表中的数据框列值?
- javascript - ajax调用和html渲染后的角度访问数据