Проблема с ComboBox и ObservableCollection <string> - PullRequest
1 голос
/ 02 февраля 2012

Вот Xaml для моего комбинированного списка:

<ComboBox Grid.Column="4"
          Grid.Row="3"
          ItemsSource="{Binding Path=Users, Mode=TwoWay, RelativeSource={RelativeSource AncestorType={x:Type cs:AdvancedSettingEditor}}}"
          Margin="5"
          x:Name="UserPicker"
          SelectedValue="{Binding Path=StandAloneUserName, Mode=TwoWay}"
          TabIndex="1"
          Visibility="{Binding Converter={StaticResource InvertedBoolToVisibility}, Path=LoginRequired}" />

В следующем коде у меня есть простая ObservableCollection строк:

public ObservableCollection<string> Users { get; set; }

Коллекция Users загружена строковыми данными из базы данных.

Существует также DependencyProperty, который связан с DataContext окна, который имеет свойство с именем StandAloneUserName. Объект, сохраненный в этом свойстве, реализует INotifyPropertyChanged.

Когда я запускаю программу, в раскрывающемся списке в поле со списком содержатся все имена из коллекции Users, но поле пустое. Элемент управления не теряет значение поля, поэтому он просто не знает, что отображать.

Как заставить мой ComboBox отображать имя в свойстве StandAloneUserName?

Tony

1 Ответ

2 голосов
/ 03 февраля 2012

Набор SelectedItem вместо SelectedValue

<ComboBox SelectedItem="{Binding Path=StandAloneUserName, Mode=TwoWay}" ... />

Я предполагаю, что он оценивается как "не существует", поскольку у вас SelectedValuePath не установлено ничего.

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