使用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>

使用SelectedIndex设置组合框默认值

如果我错了,请纠正我,但是您没有在XAML中设置SelectedValuePath。同样,一旦你设置了SelectedValuePath,你只需要设置默认的SelectedValue(与你的项目源的第一个项目的值属性相同),不需要你的SelectedIndex代码。

如果有帮助请告诉我

试试这个而不是设置索引。

string s = DropDownValues[0];
SelectedItem = s;