Ich habe MainPageViewModel mit Elementen (ObservableCollection). Auf dieser Seite habe ich auch einen Button, der Items neue Items hinzufügt.Tombstoning in Caliburn Micro
public class MainPageViewModel : Screen {
private DateTime StartActivity = DateTime.MinValue;
public ObservableCollection<ActivityViewModel> Items { get; set; }
public MainPageViewModel(INavigationService navigationService) {
this.Items = new ObservableCollection<ActivityViewModel>();
}
public void AddActivity(string activityName) {
if (this.Items.Count == 0) {
this.Items.Add(new ActivityViewModel() {
Activity = activityName,
Duration = 0
});
StartActivity = DateTime.Now;
}
else {
this.Items[this.Items.Count - 1].Duration = 10;
this.Items.Add(new ActivityViewModel() {
Activity = activityName,
Duration = 0
});
StartActivity = DateTime.Now;
}
}
}
Hinzufügen neuer Artikel funktioniert perfekt.
Die Daten von Elementen werden jedoch nicht wiederhergestellt, wenn die Anwendung nach dem Grabsteinwechsel aktiviert wird. Versuchen Sie StorageHandler für mein ViewModel zu erstellen. Hilft nicht. Was mache ich falsch?
Versuchen Sie auch, [SurviveTombstone] für Klasse und Eigenschaft hinzuzufügen, aber Visual Studio kennt dieses Attribut nicht.
public class ActivityViewModel : PropertyChangedBase {
private string _activity;
public string Activity {
get {
return _activity;
}
set {
if (value != _activity) {
_activity = value;
NotifyOfPropertyChange(() => Activity);
}
}
}
private double _duration;
public double Duration {
get {
return _duration;
}
set {
if (value != _duration) {
_duration = value;
NotifyOfPropertyChange(() => Duration);
}
}
}
}