使用SelectedIndex设置组合框默认值
本文关键字:默认值 组合 设置 SelectedIndex 使用 | 更新日期: 2023-09-27 18:07:29
为什么每当我尝试将selectedindex设置为0时,它总是保持-1 ?
public partial class Window1 : Window
{
private ObservableCollection<string> _dropDownValues = new ObservableCollection<string>();
public ObservableCollection<string> DropDownValues
{
get { return _dropDownValues; }
set { _dropDownValues = value; }
}
private string _selectedValue;
public string SelectedValue
{
get { return _selectedValue; }
set { _selectedValue = value; }
}
public Window1()
{
InitializeComponent();
DataContext = this;
DropDownValues.Add("item1");
DropDownValues.Add("item2");
DropDownValues.Add("item3");
DropDownValues.Add("item4");
DropDownValues.Add("item5");
DropDownValues.Add("item6");
if (combotest.SelectedIndex == -1)
{
combotest.SelectedIndex = 0;
}
}
}
<StackPanel HorizontalAlignment="Left" Margin="10">
<ComboBox Name="combotest"
Margin="0 0 0 5"
ItemsSource="{Binding DropDownValues}"
SelectedValue="{Binding SelectedValue}"
Width="150"/>
</StackPanel>
如果我错了,请纠正我,但是您没有在XAML中设置SelectedValuePath
。同样,一旦你设置了SelectedValuePath
,你只需要设置默认的SelectedValue
(与你的项目源的第一个项目的值属性相同),不需要你的SelectedIndex
代码。
如果有帮助请告诉我
试试这个而不是设置索引。
string s = DropDownValues[0];
SelectedItem = s;