2011-12-13 77 views
1

我将一个组合框绑定到一个由web服务发送的用户集合。comboBox.comboSpec.SelectedItem.ToString()没有给出正确的值

当我尝试使用读选定的值:

string x = comboSpec.SelectedItem.ToString(); 

or 

string x = comboSpec.SelectedValue.ToString(); 

我得到(断点模式):

Name | Value       | Type 

x | "UI.WebServiceReference.Users" | string 

如何从下拉框中得到选择的值(如“管理员” )而不是绑定元素的类型?

+1

发布你的xaml。 – 2011-12-13 18:42:08

回答

3

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

下面是一个例子:

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

我尝试了`SelectedItem`和`SelectedValue`。他们给我同样的结果。 – 2011-12-13 18:32:16

+0

谢谢,它在xaml中添加SelectedValuePath后有效。 – 2011-12-13 18:49:30

2

你需要设置你想要选择的值是ComboBoxadmin或任何财产的SelectedValuePath