在 WPF 中以编程方式设置 ComboBox SelectedItem (3.5sp1)

2024-05-26

在安装了 Net Framework 3.5 sp1 的 wpf 应用程序中以编程方式设置 SelectedItem 时,我感到很困惑。我仔细阅读了数百篇文章\主题,但仍然感到困惑(( 我的xaml:

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

如果我添加已选择=“真”其中一项的属性 - 它不会设置该项目被选中。为什么 ? 我尝试了不同的代码,但仍然无法设置所选项目:

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 不是只读属性,那么为什么它不起作用呢? 我认为这应该是微软的问题,而不是我的问题。还是我错过了什么???我尝试使用 ListBox,并且使用相同的代码都可以正常工作,我可以设置选择、获取选择等等......那么我可以用 ComboBox 做什么?也许有一些技巧?


要选择其中的任何项目ComboBox并将其设置为默认选择的项目只需使用以下行:

combobox.SelectedIndex = 0; //index should be the index of item which you want to be selected
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 WPF 中以编程方式设置 ComboBox SelectedItem (3.5sp1) 的相关文章

随机推荐