C# 组合框。文本显示总是空的吗?

C# 组合框。文本显示总是空的吗?,c#,wpf,combobox,C#,Wpf,Combobox,我试图从我的组合框中获取文本以切换它,但它总是返回null。我做错了什么 XAML: 多边形 雷切克 德雷耶克 行政区 C代码: 私有无效cbForms\u SelectionChangedobject发件人,SelectionChangedEventArgs e { string text=cbForms.text; 切换文本 { 案例多边形: { commandText=从图05 f、TABLESDO_UTIL.GETVERTICESf.shape t中选择f.Bezeichung、t.X、

我试图从我的组合框中获取文本以切换它,但它总是返回null。我做错了什么

XAML:

多边形 雷切克 德雷耶克 行政区 C代码:

私有无效cbForms\u SelectionChangedobject发件人,SelectionChangedEventArgs e { string text=cbForms.text; 切换文本 { 案例多边形: { commandText=从图05 f、TABLESDO_UTIL.GETVERTICESf.shape t中选择f.Bezeichung、t.X、t.Y、t.id; lblAnz.Content=anzPolygon.ToString; 打破 } 我错过什么了吗? 感谢您的帮助!

这应该可以:

private void cbForms_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    if (cbForms != null)
    {
        ComboBoxItem item = cbForms.SelectedItem as ComboBoxItem;
        if (item != null && item.Content != null)
        {
            string text = item.Content.ToString();
            switch (text)
            {
                case "Polygon":
                    {
                        commandText = "SELECT f.bezeichnung, t.X, t.Y, t.id FROM figure05 f, TABLE(SDO_UTIL.GETVERTICES(f.shape)) t";
                        lblAnz.Content = anzPolygon.ToString();
                        break;
                    }
            }
        }
    }
}
如果您希望它在选择任何项目之前开始工作,则应设置ComboBox的SelectedIndex属性,而不是设置ComboBox项目的IsSelected属性:

多边形 雷切克 德雷耶克 行政区
检查此问题:是否有任何原因不使用绑定?但它在初始选择项上不起作用。选择“真多边形”项时,内容将为null。事件处理程序的第一次调用是由于其中一个combox项的IsSelected=true。在此调用期间,内容可能为null,这可能是由于视图的构造方式。这必须我想是分开处理的。另外一件事:cbForm和item null检查,它们是不需要的。这只是设置SelectedIndex属性的问题。请参阅我的编辑。