从第二个子页到第一页获取数据- Windows Phone(最佳方法)
本文关键字:Phone Windows 最佳 方法 数据 第二个 获取 第一页 | 更新日期: 2023-09-27 18:03:06
我想问你,你认为从第二页到第一页的最佳方法是什么?(MVVM)
第二页:
public partial class AddProfilePageView : PhoneApplicationPage
{
public AddProfilePageView()
{
InitializeComponent();
DataContext = new AddProfileViewModel();
}
public AddProfileViewModel ViewModel { get { return DataContext as AddProfileViewModel; } }}
第一页:
public partial class ProfilesPageView : PhoneApplicationPage
{
public ProfilesPageView()
{
InitializeComponent();
DataContext = new ProfilesViewModel();
}
public ProfilesViewModel ViewModel
{
get { return DataContext as ProfilesViewModel; }
}}
AddProfileViewModel()类具有属性,这些属性绑定到xaml中的控件。从这个页面,我需要得到数据到第一页ProfilesPageView。
我的解决方案是:
protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
{
var content = e.Content as ProfilesPageView;
if (content != null && ViewModel.IsOk)
{
content.ViewModel.ProfilesList.Add(ViewModel.ProfileRecord);
}
}
你觉得怎么样?如何获取数据是好的解决方案吗?由于
实际上,您并没有试图将数据从一个页面获取到另一个页面。
在第二个/详细页面上,您正在添加一个新项目,然后当您返回到第一个/主页时,您希望它更新显示的数据以显示新项目。
我假设AddProfileViewModel
和ProfilesViewModel
都持续到磁盘/IsolatedStorage,所以你可以在返回时刷新主/列表/第一页。
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
// ...
if (e.NavigationMode == NavigationMode.Back)
{
(this.DataContext as ProfilesViewModel).Refresh();
}
}