如何获取ComboBox.SelectedItem的内容?

时间:2017-06-02 17:47:46

标签: c# string combobox uwp uwp-xaml

我认为ComboBox.SelectedItem.ToString()会起作用,但它始终会返回此字符串:Windows.UI.Xaml.Controls.ComboBoxItem,而所选项目的内容则不同。

1 个答案:

答案 0 :(得分:0)

这是一个简单的问题。 您要查找的内容是dataContext所选项目的ComboboxItem。为此,

  1. 为Combobox创建SelectionChanged事件。
  2. 现在你有了这个事件,它将提供两个方法参数(object senderEventArgs e)。
  3. sender投射到组合框(var container = sender as ComboBox)。
  4. 现在,将所选项目拉出为comboboxItemvar selected = container.SelectedItem as ComboBoxItem)。
  5. 现在从selectedItem中提取DataContext并将其转换为您提供的类型(您提供的字符串或某种类型)。
  6. if (selected != null)
    {
        var dataYouNeed = selected.DataContext as TypeYouDefined; //(string or a class)
        if (dataYouNeed != null)
        {
            //Do your stuff here 
        }
    }
    

    如果您确实可以直接访问组合框,那么您就不需要该活动。 只需按照以下代码。

     var selected = MyComboBox.SelectedItem as ComboBoxItem;
            if(selected!=null)
            {
                var dataYouNeed = selected.DataContext as TypeOfDataYouDifined; //string or some Class
                if(dataYouNeed!=null)
                {
                    //do your stuff here...
                }
            }