【发布时间】:2013-12-25 14:20:00
【问题描述】:
当源被修改时,我的数据网格视图没有更新。
在我的 View.xaml 中:
<DataGrid IsReadOnly="True" AutoGenerateColumns="False" SelectionMode="Single" ItemsSource="{Binding Items, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" SelectedItem="{Binding SelectedItem}">
<DataGrid.Columns>
<DataGridTextColumn Header="Date" Width="*" Binding="{Binding ProductHistoryInOutDate}" />
<DataGridTextColumn Header="Quantité" Width="*" Binding="{Binding ProductHistoryQuantity}" />
</DataGrid.Columns>
</DataGrid>
在我的 ViewModel.cs 中:
private ObservableCollection<ProductHistory> _Items;
public ObservableCollection<ProductHistory> Items
{
get { return _Items; }
set
{
_Items = value;
RaisePropertyChanged("Items");
}
}
[编辑]
命令:
public RelayCommand Remove
{
get
{
if (_Remove == null)
{
_Remove = new RelayCommand(
() => { _UOF.ProductHistoryRepository.Delete(this.SelectedItem);_UOF.Commit(); },
() => SelectedItem != null);
}
return _Remove;
}
}
移除按钮:
<Button Content="Delete" Command="{Binding Path=Remove}" />
【问题讨论】:
-
可能你必须先将 itemsource 清空...
-
您能提供更多细节吗?以何种方式修改源:是否更改了整个集合,是否添加/删除了项目,或者是否修改了 ProductHistory。你能发布显示项目如何修改的代码吗?
-
当我删除 ProductHistory 时。公共 RelayCommand 删除 { get { if (_Remove == null) { _Remove = new RelayCommand(() => { _UOF.ProductHistoryRepository.Delete(this.SelectedItem); _UOF.Commit(); }, () => SelectedItem !=空值); } 返回_删除; } }
标签: c# wpf datagrid observablecollection