我有一个包含多个项目的列表框。它们在运行时动态添加。
这些项目中的每一个都有一个包含相同项目数的Combobox,这些项目也应该在运行时添加。
<ListBox x:Name="ListBox_Parcels"
ItemsSource="{Binding}"
SelectionMode="Multiple"
SelectionChanged="ListBox_Parcels_SelectionChanged">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Background="Transparent" Cursor="Hand">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock x:Name="tb_title"
Grid.Column="0"
Text="{Binding Name}" />
<ComboBox x:Name="Combobox_ParcelPreset"
Grid.Column="1"
SelectionChanged="ComboBox_ParcelPreset_SelectionChanged">
<ComboBoxItem Content="initItem1"/>
<ComboBoxItem Content="initItem2"/>
</ComboBox>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
现在我想添加一个Item(运行时的yia后台代码)到列表框中的所有ComboBox_ParcelPreset
。我想能够设置列表框中特定组合框的选定索引,并且当用户更改组合框的选择时,获取组合框和列表框的索引。
我的问题是,ComboBox_ParcelPreset
不存在,ListBox_Parcels
没有任何方法访问组合框。
Itemlist_Parcels = new ObservableCollection<ClParcelItem>();
ListBox_Parcels.DataContext = Itemlist_Parcels;
如果我改变组合框中的选择,我也不会得到列表框的索引。
任何提示都欢迎。
1条答案
按热度按时间cigdeys31#
帮助我的是:How to access a specific item in a Listbox with DataTemplate?