通常,当我在视图中有一个datagid时,在我的视图模型中,我有一个属性来绑定当我在数据网格中选择一个项时数据网格通知的SelectedIndex。
但是,我注意到如果我用一个列来缩短数据网格,那么datagrid通知的selectedIndex不是具有视图项目的视图模型的observableCollection中项目的正确位置。这是因为datagrid通知了shorted元素的位置,但是视图模型在observableCollection中有原始顺序,那么如果在我的视图模型中尝试使用selectedIndex来选择observableCollection中的元素,我会得到一个不是预期的那个。
如果我使用selectedItem,我就不会遇到这个问题,因为在视图模型中我有一个属性,无论位置如何,我都有一个数据网格所说的项目。
那么我的目标是如何在我的视图模型中获取正确的selectedItem,我有两个选项,使用selectedIndex和selectedItem,在我描述的问题之后,我不知道什么时候使用selectedIndex而不是selectedItem可能很有用。
我的一般问题是,何时使用selectedIndex和何时使用SelectedItem?
答案 0 :(得分:0)
这两种情况都是可以接受的,使用它们取决于你的情况。
更多详情:Binding SelectedItem vs SelectedIndex - When should I choose one over the other?