Mvvm 竞争项资源绑定和SelectedItem绑定

Mvvm 竞争项资源绑定和SelectedItem绑定,mvvm,uwp,Mvvm,Uwp,我有一个基于Template10 Minimal的UWP应用程序,用于收集客户数据;某些视图具有combobox/listbox控件,其ItemsSource依赖于另一个combobox/listbox控件的选定项。例如,将根据所选州填充城市列表的州和城市 这在第一次加载时效果很好,但当用户返回视图时,我尝试恢复他们的初始选择,但有时无法设置所选城市。我认为这是因为在设置viewmodel的SlectedCity属性后,状态的SelectionChanged(清除并重新填充城市列表)会触发 处理

我有一个基于Template10 Minimal的UWP应用程序,用于收集客户数据;某些视图具有combobox/listbox控件,其ItemsSource依赖于另一个combobox/listbox控件的选定项。例如,将根据所选州填充城市列表的州和城市

这在第一次加载时效果很好,但当用户返回视图时,我尝试恢复他们的初始选择,但有时无法设置所选城市。我认为这是因为在设置viewmodel的SlectedCity属性后,状态的SelectionChanged(清除并重新填充城市列表)会触发


处理这个问题的正确方法是什么?这感觉像是一个时间问题,取决于列表的itemsource是先设置的还是selecteditem属性是先设置的。

这取决于您的要求。基本上我认为你错过的是导航缓存。在要在导航时保留数据的页面中,在其构造函数中将导航缓存模式设置为启用。为此,在页面代码隐藏构造函数中(假设页面名称为
MainPage.xaml
so,则在构造函数中

Public MainPage ()
{
    NavigationCacheMode = NavigationCacheMode.Enabled;
 }
请注意,因为您使用的是模板10,所以在您的
app.xaml.cs
在构造函数中,您的
CacheMaxDuration
设置为
settings.CacheMaxDuration

很抱歉格式化,我正在使用移动设备。如果我能进一步帮助,请告诉我