选择组合框的项目我有一个组合框负荷漫游设置
<ComboBox x:Name="cityPicker">
<ComboBoxItem IsSelected="True">
<x:String>
city1
</x:String>
</ComboBoxItem>
<ComboBoxItem>
<x:String>
city2
</x:String>
</ComboBoxItem>
当用户选择“城2”,那么我将它保存到漫游设置在selectedCity
关键。
我需要从漫游设置中加载这个值,当用户在退出后启动应用程序时以及从另一个启动应用程序返回到此页面后。
将此代码值保存到RoamingSetting,并且当我在更改城市后启动应用程序时,roamingsettings具有它的价值。但Combobox不检索它。组合框选定的项目保持空白。
如何以编程方式更改组合框中的选定项目?
protected override void LoadState(Object navigationParameter, Dictionary<String, Object> pageState)
{
var roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;
if (roamingSettings.Values.ContainsKey("selectedCity"))
{
cityPicker.SelectedValue = roamingSettings.Values["selectedCity"].ToString();
}
}
public StartPage()
{
InitializeComponent();
cityPicker.SelectionChanged += cityPicker_SelectionChanged;
}
void cityPicker_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var roamingSettings =
Windows.Storage.ApplicationData.Current.RoamingSettings;
var cityPick = cityPicker.SelectedItem as ComboBoxItem;
if (cityPick != null) roamingSettings.Values["selectedCity"] = cityPick.Content;
}
我只能通过改变SelectedIndex
来做到这一点。但这不是我想要的。
哪里是保存数据的代码? – 2013-05-03 18:13:46
我更新问题。在调试模式下值保存成功,roamingSettings.Values [“selectedCity”]包含所需的值。 – TheX 2013-05-03 18:41:54
那么,有什么问题?你的文章没有特别好的解释。 – 2013-05-03 19:52:25