Программно ComboBox SelectedItem набора в WPF (3.5sp1)

Я был смущен в то время как установка SelectedItem программно в wpf приложениях с Сетевой Платформой 3,5 установленные sp1. Я тщательно считал приблизительно сотню сообщений \topics, но все еще перепутал ((Мой xaml:

 <ComboBox name="cbTheme">
    <ComboBoxItem>Sunrise theme</ComboBoxItem>
    <ComboBoxItem>Sunset theme</ComboBoxItem> 
 </ComboBox>

Если я добавляю IsSelected = свойство "True" в одном из объектов - это - наборы dosn't этот выбранный объект. ПОЧЕМУ? И я был попыткой, отличающейся в коде, и все еще не могу установить выбранный пункт:

cbTheme.SelectedItem=cbTheme.Items.GetItemAt(1); //dosn't work
cbTheme.Text = "Sunrise theme"; //dosn't work
cbTheme.Text = cbTheme.Items.GetItemAt(1).ToString();//dosn't work
cbTheme.SelectedValue = ...//dosn't work
cbTheme.SelectedValuePath = .. //dosn't work
//and even this dosn't work:
ComboBoxItem selcbi = (ComboBoxItem)cbTheme.Items.GetItemAt(1);//or selcbi = new ComboBoxItem
cbTheme.SelectedItem = selcbi;

SelectedItem не является свойством только для чтения, итак, почему это работа wan't? Я думаю, что это, должны быть проблемы Microsoft, не мой. Или я пропустил что-то??? У меня есть попытка, играющая с ListBox, и все хорошо работают с тем же кодом, я могу установить выборы, получить выборы и так далее.... Таким образом, что я могу сделать с ComboBox? Возможно, некоторые приемы???

11
задан skaffman 3 November 2010 в 19:37
поделиться

1 ответ

Привязаны ли данные ComboBox?

Если да, вам, вероятно, лучше сделать это через привязку, а не код ....

См. Этот вопрос ... WPF ListView программно выбрать элемент

Возможно, создать новый SelectableObject {Text = "Abc Theme", IsCurrentlySelected = True} Привязать коллекцию SelectableObjects в ComboBox.

По сути, установка свойства IsCurrentlySelected в модели и обновление пользовательского интерфейса из модели.

0
ответ дан 3 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: