Добавление элемента в пустую наблюдаемую коллекцию, который связывается с выпадающим списком, приводит к автоматическому выделению этого элемента в выпадающем списке, но выбранное значение по-прежнему равно нулю. - PullRequest
0 голосов
/ 22 августа 2011

У меня есть этот throuble:

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

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

Если я добавляю первую новую сущность в элемент управления контентом и коллекция пуста, то добавляем элемент в коллекцию - этот элемент автоматически выбирается в выпадающем списке, но значение, выбранное в выпадающем списке, равно нулю. Оказывается, такая ситуация: элемент выделен в выпадающем списке, но в выпадающем списке выбранное значение равно нулю. Если я выберу этот пункт вручную, выбранное значение будет установлено на этот пункт и работать дальше, а я не понимаю, как это может быть. Вот мой код: это коллекция

public ObservableCollection<AnyType> AnyTemplates { get; set; }

это комбинированный список кодов xaml:

<ComboBox Name="cmbKeyA" 
          Width="100" 
          SelectedValue="{Binding Path=KeyAName}"
          ItemsSource="{Binding Path=DataContext.KeyTemplates, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" 
          DisplayMemberPath="Name" 
          SelectedValuePath="Name"/>

1 Ответ

0 голосов
/ 23 августа 2011

Я не совсем уверен, что понимаю вашу проблему, но из того, что я понимаю, я бы использовал либо свойство зависимости, либо свойство, которое реализует событие INotifyPropertyChanged для привязки к SelectedItem объекта ComboBox. Затем, когда я захотел добавить элемент в коллекцию ObservableCollection (при условии, что вы хотите, чтобы он был выбран), я бы добавил его в коллекцию и установил равным ему новое свойство.

...