【发布时间】:2015-06-24 20:08:06
【问题描述】:
我在网格视图单元格中嵌入了一个组合框,该单元格随后嵌入到 ListView 对象中。加载窗口时,组合框从我的容器类列表中获取值并填充组合框。这工作正常,但什么 我希望能够在触发 SelectionChanged 事件时确定组合框的列表视图索引。
<ComboBox x:Name="TransFileOpt" ItemsSource="{Binding ComboBoxOptions}" SelectedIndex="{Binding SelectedIndex}" SelectionChanged="ComboBoxSelectionChanged"/>
当我之前搜索过这个时,所有结果都指向 System.Windows.Forms.ListView,而我正在使用 System.Windows.Controls.ListView,所以
m_ListView.Rows[index] 不起作用。
基本上,我需要一种方法来获取包含调用 ComboBoxSelectionChanged 的组合框的 ListView 索引或项目(在触发 SelectionChanged 事件时)。
ListView 块:
<ListView Name="m_ListView" ItemsSource="{Binding Tables}" Margin="0,28,0,132" SelectionMode="Extended" SelectedIndex="0"
RenderTransformOrigin="0.503,0.468" ScrollViewer.HorizontalScrollBarVisibility="Disabled"
SelectionChanged="ListView_SelectionChanged">
<ListView.View>
<GridView x:Name="m_TableGridView" AllowsColumnReorder="False" >
<GridViewColumn Width="50" Header="Loaded">
<GridViewColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding Loaded}"></CheckBox>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="150" Header="Master File" DisplayMemberBinding ="{Binding MasterFileName}"/>
<GridViewColumn Width="200" Header ="Translation File" >
<GridViewColumn.CellTemplate>
<DataTemplate>
<ComboBox x:Name="TransFileOpt" ItemsSource="{Binding ComboBoxOptions}"
SelectedIndex="{Binding SelectedIndex}" SelectionChanged="ComboBoxSelectionChanged"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
<ListView.Resources>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=Text }"></Setter>
</Style>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListView.Resources>
</ListView>
其他信息:该项目是通过 Visual Studio 的 wpf 编辑器生成的,该编辑器默认为 System.Windows.Controls 用于类。
【问题讨论】: