【发布时间】:2018-01-09 02:42:22
【问题描述】:
我显然没有掌握使用 SelectedValue 来更改 UWP 中组合框显示的项目
XAML 很简单
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<ComboBox x:Name="comboBoxColor" />
</Grid>
代码隐藏不是很深
public MainPage()
{
this.InitializeComponent();
}
public void page_Loaded(object sender, RoutedEventArgs e)
{
populateDdlMultiColor();
comboBoxColor.SelectedValue = Colors.Red;
//comboBoxColor.SelectedIndex = 0 works tho
}
private void populateDdlMultiColor()
{
comboBoxColor.ItemsSource = ColorDict();
comboBoxColor.DisplayMemberPath = "Key";
comboBoxColor.SelectedValuePath = "Value";
}
private Dictionary<string,Color> ColorDict()
{
Dictionary<string, Color> L = new Dictionary<string, Color>();
L.Add("reddish",Colors.Red);
return L;
}
这显然是修补玩具,但它失败的方式与我的代码失败的方式相同:设置 SelectedValue 后,组合框位于索引 -1 并且 SelectedValue 为空。如果我将 SelectedIndex 设置为适当的值 [参见评论],组合框将起作用 - 它已被加载。
【问题讨论】:
标签: c# xaml combobox uwp selectedvalue