1
我有一个ListView
其中包含的对象集合itemssource
和选定的对象SelectedItem
。当选择组合框/文本框时选择ListView项目WPF MVVM
<ListView Margin="5 0 5 0" ItemsSource="{Binding ObjectCollection}" SelectedItem="{
Binding SelectedObject}" Grid.Row="1">
里面的ListView.View
我有几个GridViewColumn
S的每一个都有这样的模板的CellTemplate
<GridViewColumn CellTemplate="{StaticResource ReferenceToCellTemplate}" Header="{
Binding ColumnName, Converter={StaticResource upperConverter}}" Width="90"
HeaderContainerStyle="{StaticResource StaticGridViewColumnHeaderStyleWhite}"/>
一个例子:
<DataTemplate x:Key="ReferenceToCellTemplate">
<ComboBox ItemsSource="{Binding PossibleValuesForProperty, UpdateSourceTrigger=
PropertyChanged}" SelectedItem="{Binding SelectedProperty, UpdateSourceTrigger=
PropertyChanged}" SelectionChanged="Protocol_ComboBox_SelectionChanged"/>
</DataTemplate>
现在的问题:
说我有2个梳子在这个列表视图中的oboxes。例如具有不同软件的组合框和具有该软件的不同版本的组合框。
每当软件在特定行中发生变化时,应该更新可能的版本。
问题: 如何知道软件组合框属于哪个对象,以便我可以调整此对象的可能版本?
当您更改组合框内的值时,这并不意味着该行被选中。所以当我尝试调整版本以及所选行时,我可能会调整错误的行。
所以我看到它的方式有以下两种方式:
- 选择选择
- 结识哪一行改变给定行,只要该行里面的东西被调整/ /选择控制是在没有选择它
任何帮助将不胜感激。
你知道ObjectCollection的顺序吗?在这种情况下,我可能会使用ListView.SelectedIndex作为最后的追索权。 – Arhiman
你是否在代码隐藏中定义了ComboBox.SelectionChanged处理程序? – Arhiman
是的,我确定了处理程序。而问题是,选定的索引仍然可以是3,例如当第五行中的组合框发生更改时... –