我有一个有四个静态可能选择的组合框,如下所示
MainWindow.xaml
<Grid>
<ComboBox Name="combobox" IsEditable="True" SelectionChanged="ComboBox_SelectionChanged" Text="Default Text"
<ComboBoxItem Name="ComboBoxItem1">1</ComboBoxItem>
<ComboBoxItem Name="ComboBoxItem2">2</ComboBoxItem>
<ComboBoxItem Name="ComboBoxItem3">3</ComboBoxItem>
<ComboBoxItem Name="ComboBoxItem4">4</ComboBoxItem>
</ComboBox>
<StackPanel Name="dock">
</StackPanel>
</Grid>
我正在为使用此方法选择的每个组合框项目创建一个扩展器。
MainWindow.xaml.cs
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var itemIndex = combobox.SelectedItem;
Expander expander = new Expander { Header = this.combobox.Name };
dock.Children.Add(expander);
}
我知道我可以访问组合框名称,但我不确定如何访问组合框项名称。我试过使用
Header = this.combobox.ComboBoxItem.Name
还有其他变体,但我没有成功。我只是想将每个扩展器的标题变成组合框项的名称。感谢您的帮助。
最佳答案
你可以这样走:
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var selectedItem= combobox.SelectedItem as ComboBoxItem;
if(selectedItem!=null)
{
string name = selectedItem.Name;
Expander expander = new Expander { Header = name };
dock.Children.Add(expander);
}
}
关于c# - WPF,访问组合框选择的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28556022/