从第二个子页到第一页获取数据- 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);
        }
    }

你觉得怎么样?如何获取数据是好的解决方案吗?由于

从第二个子页到第一页获取数据- Windows Phone(最佳方法)

实际上,您并没有试图将数据从一个页面获取到另一个页面。
在第二个/详细页面上,您正在添加一个新项目,然后当您返回到第一个/主页时,您希望它更新显示的数据以显示新项目。

我假设AddProfileViewModelProfilesViewModel都持续到磁盘/IsolatedStorage,所以你可以在返回时刷新主/列表/第一页。

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    // ...
    if (e.NavigationMode == NavigationMode.Back)
    {
        (this.DataContext as ProfilesViewModel).Refresh();
    }
}