Pou*_*yan 31 c# data-binding wpf datagrid itemsource
我的wpf应用程序中有一个datagrid,我有一个简单的问题.我有一个通用列表,我希望每次将对象添加到集合时将此集合绑定到我的数据网格数据源.我对使用可观察的集合不感兴趣.
关键是我在其他地方使用相同的方法,并且工作正常.但是这次当我按下Add按钮时,会添加一个对象并且datagrid会正确更新,但是从添加到集合datagrid的第二个项目不再更新.
这是代码:
private void btnAddItem_Click(object sender, RoutedEventArgs e)
{
OrderDetailObjects.Add(new OrderDetailObject
{
Price = currentitem.Price.Value,
Quantity = int.Parse(txtQuantity.Text),
Title = currentitem.DisplayName,
TotalPrice = currentitem.Price.Value * int.Parse(txtQuantity.Text)
});
dgOrderDetail.ItemsSource = OrderDetailObjects;
dgOrderDetail.UpdateLayout();
}
Run Code Online (Sandbox Code Playgroud)
任何的想法 ?
H.B*_*.B. 65
的ItemsSource
总是相同的,到您的收藏,没有任何变化,没有更新的参考.您可以在之前将其清空:
dgOrderDetail.ItemsSource = null;
dgOrderDetail.ItemsSource = OrderDetailObjects;
Run Code Online (Sandbox Code Playgroud)
或者,您也可以刷新项目:
dgOrderDetail.ItemsSource = OrderDetailObjects; //Preferably do this somewhere else, not in the add method.
dgOrderDetail.Items.Refresh();
Run Code Online (Sandbox Code Playgroud)
我不认为你真的想打电话给UpdateLayout
那里......
(拒绝使用ObservableCollection并不是一个好主意)
Mat*_*att 14
我也发现了
dgOrderDetails.Items.Refresh();
Run Code Online (Sandbox Code Playgroud)
也会完成同样的行为.
归档时间: |
|
查看次数: |
68997 次 |
最近记录: |