所以我试图在代码中更改ComboBox项的值IsSelected:
if (roamingSettings.Values.ContainsKey("tempValue"))
{
switch (roamingSettings.Values["tempValue"].ToString())
{
case "Celsius":
Celsius.IsSelected = true;
break;
case "Kelvin":
Kelvin.IsSelected = true;
break;
case "Fahrenheit":
Fahrenheit.IsSelected = true;
break;
}
}
此代码在页面恢复时触发,逻辑工作正常,值传递到“OnNavigatedTo(NavigationEventArgs e)”方法(我从Microsoft UWP示例中借用了此方法),我可以看到e.Content具有正确的价值。但该项目未被选中。有任何想法吗?提前谢谢!
PS。 https://github.com/4c74356b41/UWP-04上的完整代码(这发生在settings.xaml和settings.xaml.cs上)
答案 0 :(得分:3)
如果您不强制选择项目,但强制组合框选择项目怎么办?
像
这样的东西switch (roamingSettings.Values["tempValue"].ToString())
{
case "Celsius":
ComboBox.selectedItem = Celsius;
break;
case "Kelvin":
ComboBox.selectedItem = Kelvin;
break;
case "Fahrenheit":
ComboBox.selectedItem = Fahrenheit;
break;
}