【发布时间】:2018-12-26 14:22:16
【问题描述】:
我正在尝试将 ComboBox 绑定到 ViewModel 并将其默认 SelectedIndex 设置为 0 或第一项。
当我在 ViewModel 中设置默认 SelectedIndex 时,它不起作用。
虽然它适用于SelectedItem。
XAML
<ComboBox x:Name="cboExample"
ItemsSource="{Binding Example_Items}"
SelectedIndex="{Binding Example_SelectedIndex}"
SelectedItem="{Binding Example_SelectedItem}"
HorizontalAlignment="Left"
Margin="0,0,0,0"
VerticalAlignment="Top"
Width="105"
Height="22"/>
视图模型
注意:我只设置了一个。
public ViewModel()
{
// ComboBox Defaults
Example_SelectedIndex = 0; // does not work
Example_SelectedItem = "item 1"; //works
}
物品来源
public List<string> _Example_Items = new List<string>()
{
"item 1",
"item 2",
"item 3"
};
public List<string> Example_Items
{
get { return _Example_Items; }
set
{
_Example_Items = value;
OnPropertyChanged("Example_Items");
}
}
选定索引
不工作
public int _Example_SelectedIndex { get; set; }
public int Example_SelectedIndex
{
get { return _Example_SelectedIndex; }
set
{
if (_Example_SelectedIndex == value)
{
return;
}
_Example_SelectedIndex = value;
OnPropertyChanged("Example_SelectedIndex");
}
}
所选项目
作品
public string _Example_SelectedItem { get; set; }
public string Example_SelectedItem
{
get { return _Example_SelectedItem; }
set
{
if (_Example_SelectedItem == value)
{
return;
}
_Example_SelectedItem = value;
OnPropertyChanged("Example_SelectedItem");
}
}
【问题讨论】:
-
您是否在 XAML 中同时设置了两个属性(SelectedIndex 和 SelectedItem)?
-
@Babbillumpa 不只是一个,我只是举例说明了。
-
您是否检查了输出窗口中的绑定错误?
-
@Babbillumpa 我没有看到与此组合框相关的任何错误。
-
您只能绑定到属性。第一个视图模型有字段。