ListView
としてオブジェクトのコレクションを含みitemssource
、選択されたオブジェクトを として持っていますSelectedItem
。
<ListView Margin="5 0 5 0" ItemsSource="{Binding ObjectCollection}" SelectedItem="{
Binding SelectedObject}" Grid.Row="1">
の中にListView.View
I がいくつかGridViewColumn
あり、それぞれに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 つのコンボボックスがあるとします。たとえば、異なるソフトウェアのコンボボックスと、このソフトウェアの異なるバージョンの別のコンボボックスです。
ソフトウェアが特定の行で変更された場合は常に、可能なバージョンを更新する必要があります。
質問: ソフトウェア コンボボックスがどのオブジェクトに属するかを知り、このオブジェクトの可能なバージョンを調整するにはどうすればよいですか?
コンボボックス内の値を変更しても、行が選択されているわけではありません。そのため、選択した行と一緒にバージョンを調整しようとすると、間違った行を調整する可能性があります。
したがって、私が見る方法には2つの可能性があります:
- その行内の何かが調整/選択されるたびに、指定された行を選択します
- 変更/選択されたコントロールが選択せずにどの行にあるかを知る
どんな助けでも大歓迎です。