0

私はあなたに尋ねたいと思います、あなたはどう思いますか、2ページ目から1ページ目へ行くための最良のアプローチは何ですか?私はこのようなものを使用します。(MVVM)

2ページ目:

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);

        }
    }

それで、あなたはどう思いますか?データを取得する方法は良い解決策ですか?ありがとう

4

1 に答える 1

0

実際には、あるページから別のページにデータを取得しようとしているわけではありません。
2 番目の詳細ページで新しいアイテムを追加し、最初のメイン ページに戻ったときに、表示されているデータを更新して新しいアイテムを表示する必要があります。

AddProfileViewModelどちらもディスク/IsolatedStorageに永続化されていると思いProfilesViewModelますので、メイン/リスト/最初のページに戻るときに更新するだけです。

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);

    // ...

    if (e.NavigationMode == NavigationMode.Back)
    {
        (this.DataContext as ProfilesViewModel).Refresh();
    }
}
于 2013-03-11T15:06:14.143 に答える