Silverlight - 如何在组合框中获取所选项目的文本

Cal*_*nus 6 silverlight combobox

一个适合你的人......

我是Silverlight的新手,并且真的缺少像DataTables这样的东西.我目前正在努力的是如何获取我的组合框当前所选项目的文本.在winforms我会做:

ComboBox myCombo = new ComboBox.......
string selected = myCombo.Text;
Run Code Online (Sandbox Code Playgroud)

我正在努力如何获得这些信息.

Jas*_*son 9

组合框的选定项目是当前持有的任何类型的项目.因此,如果将绑定设置为字符串集合,则所选项目将为字符串:

string mySelectedValue = ((string)MyComboBox.SelectedItem);
Run Code Online (Sandbox Code Playgroud)

如果它是一个更复杂的对象,则需要转换并使用预期的对象.如果您使用列表框项类的XAML,例如:

<ComboBox x:Name="MyComboBox">
    <ComboBox.Items>
        <ComboBoxItem>
            <TextBlock Text="Hello World"/>
        </ComboBoxItem>
    </ComboBox.Items>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)

然后,您将访问所选项目,如下所示:

string mySelectedValue = 
  ((TextBlock)((ComboBoxItem)MyComboBox.SelectedItem).Content).Text;
Run Code Online (Sandbox Code Playgroud)


Cal*_*nus 7

对,答案是使用myCombo.SelectionBoxItem.ToString()