c# - 如何检测 WPF 中 UI 上更改的数据网格项目源?

标签 c# wpf xaml mvvm datagrid

我有一个数据网格,它绑定(bind)到我的 View 模型中的一个 Observable 集合。

项目源属性设置为集合。

每次我更新集合(通过另一个按钮)时,我的数据 GridView 都会更新并且我能够看到更改。

我想确保始终选中 WPF 数据网格中的至少一项。

我尝试在 Datagrid XAML 中使 Selected Index =0,但这仅适用于最初加载的数据网格。当 Items 源集合更改时,它不会将所选索引重置为 0。我所说的更改是指整个 Collection 被重置(不是添加或删除单个项目)。

基本上,只要重置 itemssource 集合,我就需要一个从 WPF 触发的事件。

不确定这里的代码是否有用。

最佳答案

您可以在您的 View 模型上订阅 PropertyChanged 事件并查看事件参数以查看属性名称是否与您的 DataGrid 的名称相匹配>项目来源。您还需要确保在您的 View 模型中触发该事件(您可能是因为您的数据网格显示了更改)。

您可以在 View 的后台代码中执行此操作,或者更好的是,在 attached property 中执行此操作.

关于c# - 如何检测 WPF 中 UI 上更改的数据网格项目源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32260201/

相关文章:

c# - .NET 是否有 KeyValuePair<K,V> 的现有二进制搜索类

c# - 如何生成唯一订单号?

wpf - 如何找到公开依赖属性的给定成员属性的依赖属性标识符?

c# - Prism NavigationService 获取之前的 View 名称

c# - XAML 样式/基类中 VisualStateGroup/VisualState 的继承

WPF 文本框 VerticalContentAlignment 不工作

c# - Web 应用程序中的 WebBrowser 控件

c# - 关于重写规则的混淆 C#

c# - 请求类型为“System.Data.SqlClient.SqlClientPermission, System.Data, Version=4.0.0.0”的权限

c# - 如何使 Canvas 在 C# 中正确检测触摸输入?