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,例如當第五行中的組合框發生更改時... –