为什么每当我尝试将SlectedIndex设为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>
答案 0 :(得分:1)
如果我错了,请纠正我,但你没有在你的XAML中设置SelectedValuePath
。此外,设置SelectedValuePath
后,您只需设置默认SelectedValue
(与商品来源中第一项的value属性相同),而无需使用SelectedIndex
代码。< / p>
如果有帮助,请告诉我。
答案 1 :(得分:1)
尝试此操作而不是设置索引。
string s = DropDownValues[0];
SelectedItem = s;