comboBox.comboSpec.SelectedItem.ToString () не дает правильное значение - PullRequest
1 голос
/ 13 декабря 2011

Я привязываю comboBox к коллекции пользователей, отправленных веб-службой.

Когда я пытаюсь прочитать выбранное значение, используя:

string x = comboSpec.SelectedItem.ToString();

or 

string x = comboSpec.SelectedValue.ToString();

Я получаю (Точка останова)mode):

Name | Value                          | Type

x    | "UI.WebServiceReference.Users" | string

Как я могу получить выбранное значение из comboBox (например, "admin"), а не тип связанного элемента?

Ответы [ 2 ]

3 голосов
/ 13 декабря 2011

Если вы отображаете DisplayMemberPath, и в качестве значения в качестве значения SelectedValuePath в определении ComboBox установлено имя, тогда вы можете использовать SelectedValue, а не SelectedItem. SelectedItem возвращает элемент в ItemsCollection, тогда как SelectedValue возвращает свойство привязанного элемента.

Вот пример:

<ComboBox Name="employees"
         ItemsSource="{Binding Source={StaticResource Employees}}"
         ItemTemplate="{StaticResource EmployeeItemTemplate}"
         SelectedValuePath="EmployeeUsername"/>
2 голосов
/ 13 декабря 2011

Вам необходимо установить SelectedValuePath для ComboBox на admin или любое другое свойство, которое вы хотите, чтобы выбранное значение было.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...