2014-11-18 3 views
0

Я попробовал два подхода:Mvvmcross tombstoning - всегда возвращают нулевые значения

1.

public class SavedState 
    { 
     public string Data1 { get; set; } 
     public string Data2 { get; set; } 
    } 

    public void ReloadState(SavedState state) 
    { 
     //Data1 and Data2 always have null values. 
    } 

    public SavedState SaveState() { 
     return new SavedState 
     { 
      Data1 = "AAAA", 
      Data2 = "BBBB" 
     }; 
    } 

2.

protected override void ReloadFromBundle(IMvxBundle state) 
    { 
     base.ReloadFromBundle(state); 

     //state.Data has 0 elements. 
    } 

    protected override void SaveStateToBundle(IMvxBundle bundle) 
    { 
     bundle.Data["Data1"] = "AAAA"; 
     bundle.Data["Data2"] = "BBBB"; 

     base.SaveStateToBundle(bundle); 
    } 

Что я делаю неправильно? Будут вызваны методы ReloadStateand ReloadFromBundle, но с нулевыми параметрами. У меня есть только цель для Windows Store, с пользовательскими ведущий, который показывает вид таким образом:

_rootFrame.Navigate(GetViewType(request), request); 

ответ

0

Вчера у меня был подобный вопрос.

Я использовал этот код, чтобы показать ViewModel с параметром:

ShowViewModel<UserAccountViewModel>(new UserAccountViewModelParams{ FromLogin = true }); 

и tombstoning вели себя так же, как в вашем случае.

Когда я изменил его:

ShowViewModel<UserAccountViewModel>(); 

он работал.

Я предполагаю, что это ошибка MVX.

Смежные вопросы