comboBox.comboSpec.SelectedItem.ToString()没有给出正确的值

时间:2011-12-13 18:25:58

标签: c# wpf web-services data-binding combobox

我正在将一个comboBox绑定到由Web服务发送的用户集合。

当我尝试使用:

读取所选值时
string x = comboSpec.SelectedItem.ToString();

or 

string x = comboSpec.SelectedValue.ToString();

我得到(断点模式):

Name | Value                          | Type

x    | "UI.WebServiceReference.Users" | string

如何从comboBox中获取所选值(如“admin”)而不是绑定元素的类型?

2 个答案:

答案 0 :(得分:3)

如果您正在显示DisplayMemberPath并使用ComboBox定义中的SelectedValuePath将名称设置为您的值,则可以使用SelectedValue而不是SelectedItem。 SelectedItem返回ItemsCollection中的项,而SelectedValue返回绑定项的属性。

以下是一个例子:

<ComboBox Name="employees"
         ItemsSource="{Binding Source={StaticResource Employees}}"
         ItemTemplate="{StaticResource EmployeeItemTemplate}"
         SelectedValuePath="EmployeeUsername"/>

答案 1 :(得分:2)

您需要将ComboBox的{​​{3}}设置为admin或您想要所选值的任何属性。