我有两个 ComboBox 实例,第一个包含组标题,如果我从组组合中进行选择,我想用存储在分配给列表中每个项目的标签部分的列表中的结果填充第二个组合第一个组合。
我遇到的问题是如何访问所选项目的标签,我添加了一个处理程序,用于处理第一个组合上的 SelectedIndexChanged ,并且在我的处理程序中,我试图找出如何访问 SelectedItem 的列表。该列表简单定义为:
List<string>
我找到了这篇文章:Get tag of selected item in WPF ComboBox
我不知道是否是因为我使用的是 Visual Studio 2022,但类型 ComboBoxItem 未定义,或者它位于与 ComboBox 不同的名称空间中。
我不确定,但我已经成功设置了小型 WPF 应用程序。这是 XAML:
<StackPanel Margin="10">
<ComboBox Name="cbx" SelectionChanged="ComboBox_SelectionChanged">
<ComboBoxItem>ComboBox Item #1</ComboBoxItem>
<ComboBoxItem IsSelected="True">ComboBox Item #2</ComboBoxItem>
<ComboBoxItem Tag="Item 3 tag">ComboBox Item #3</ComboBoxItem>
</ComboBox>
</StackPanel>
这是背后的代码:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var selectedItem = (ComboBoxItem)((ComboBox)sender).SelectedItem;
var tag = selectedItem.Tag;
}
}