c# - WPF,访问组合框选择的项目

标签 c# wpf combobox expander

我有一个有四个静态可能选择的组合框,如下所示

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/

相关文章:

c# - 嵌套 ItemsControl 的拉伸(stretch)高度

javascript - 当商店未加载结果时,Extjs 组合框不断重置文本值

C++ MFC 创建新对话框并添加 Combobox 项

c# 派生类型到组合框

c# - 从 DLL/程序集获取实例?

c# - 如何将项目添加到 ObservableCollection?

wpf - 如何通过物理滚动滚动到列表框中的下一个逻辑页面

c# - 如何使用 asp.net C# 将命令提示符输出重定向到文件?

c# - 如何停止 Parallel.ForEach 循环?

.net - 如何在更新 ViewModel 属性时触发动画?