У меня есть ComboBox
, ItemSource
которого связан со списком строк (в идеале я бы использовал Enum), это делается с использованием шаблона MVVM.
Теперь я хочу связать объект с ComboBox
, он называется SelectedUser
, и я хочу связать его свойство: UserType
, которое является строкой.
Итак, я получил это:
<ComboBox ItemsSource="{Binding Path=Usertypes}" SelectedValue="{Binding Mode=TwoWay, Path=SelectedUser.UserType}" />
Он работает и меняет значение выбранного пользователя, если я с ним играю, но проблема в том, что он ничего не отображает в ComboBox
, если я не выбрал пользователя, а затем не изменил ComboBox
выбор, то это работает, но только для этого пользователя.
Я пытался поиграть с DisplayMemberPath
, SelectedValuePath
и SelectedItem
,
когда я добавил их, ComboBox
ничего не показывал (все еще были варианты для выбора, но они были невидимы или что-то в этом роде).
Так что мне делать? Это ошибка?
Я должен упомянуть, что у меня есть еще один ComboBox
со списком целых чисел, и он отлично работает.
Обновление:
Мне сообщили, что я получаю эту проблему, потому что строка, которую я сравниваю со строкой в comboBox, на самом деле не совпадает.
Моя строка поступает из Entity Framework через Ria Services. (User.UserType)
И когда он сравнивает его со списком строк в ComboBox ItemSource, они не равны по какой-то странной причине.
И я также слышал, что мне, возможно, придется переопределить метод Equal для этой проверки.
но я не уверен, где и как это сделать.