如何在UWP中保存组合框的选定索引,并在用户重新加载页面时将其显示回来

本文关键字:加载 新加载 显示 回来 保存 组合 UWP 索引 用户 | 更新日期: 2023-09-27 18:17:46

我在我的UWP应用程序中有一个ComboBox控件,当用户选择一个选项时,我需要保存它的选定索引!然后,我需要将此索引保存在本地设置中,当用户返回此页面时,我希望ComboBox将此保存的索引作为所选索引。我需要这个功能在我的设置页面!有人能帮我吗?

这是我的代码:

private void fuelTypeSelector_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    var localSettings = ApplicationData.Current.LocalSettings;
    try
    {
        if(localSettings.Values.ContainsKey("selectedIndex"))
        {
            int index = (int)localSettings.Values["selectedIndex"];
            fuelTypeSelector.SelectedIndex = index;
            //update the saved index
            if(fuelTypeSelector.SelectedIndex!=index)
            {
                localSettings.Values["selectedIndex"] =
                    fuelTypeSelector.SelectedIndex;
            }
        }
        else
        {
            // index does not exist
            localSettings.Values.Add("selectedIndex",
                fuelTypeSelector.SelectedIndex);
        }
    }
    catch(Exception ex)
    {
    }
}

如何在UWP中保存组合框的选定索引,并在用户重新加载页面时将其显示回来

要获取ComboBox的选中项,您可以处理它的SelectionChanged事件,就像下面的例子:

<ComboBox SelectionChanged="ComboBox_SelectionChanged">
    <ComboBoxItem>Item 1</ComboBoxItem>
    <ComboBoxItem>Item 2</ComboBoxItem>
    <ComboBoxItem>Item 3</ComboBoxItem>
    <ComboBoxItem>Item 4</ComboBoxItem>
    <ComboBoxItem>Item 5</ComboBoxItem>
</ComboBox>

背后的代码:

private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    //you can get the selected item like this:
    var combo = sender as ComboBox;
    var selecteditem = combo.SelectedItem;
    //or, since ComboBox DOESN'T support multiple selection, you can get the item like:
    var selecteditems = e.AddedItems.FirstOrDefault();
}

或者如果您只需要该项的索引,则可以使用第一种方法,并将代码更改为:var selectedindex = combo.SelectedIndex;。当然,我们也可以通过数据绑定将项目添加到ComboBox集合中。

通过保存所选项目,我个人认为最好在应用程序处于暂停阶段时保存本地设置,在启动阶段读取设置数据。要检查UWP应用程序的生命周期,官方文档启动,恢复和后台任务将帮助您。这意味着你必须在你的应用程序运行时保存你的页面状态,要做到这一点,你可以缓存你的设置页面,关于页面状态的更多信息,你可以参考我的答案在UWP页面状态管理。

关于保存和检索设置部分,这里是官方文档:存储和检索设置和其他应用数据,在这个文档中有一些示例代码。

最后,由于您是UWP应用程序开发的新手,您可以参考Windows 10上UWP应用程序的入门文章。GitHub上有很多官方的UWP示例,可能也会有帮助。