我有MainPageviewmodel与Items(ObservableCollection).在这个页面上,我还有一个按钮,可以向项目中添加新项目.
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; } } }
添加新项目非常有效.
但是,在逻辑删除后应用程序激活时,来自项目的数据无法恢复.尝试为我的viewmodel创建StorageHandler.没有帮助.我做错了什么?
public class MainPageviewmodelStorage : StorageHandler<MainPageviewmodel> { public override void Configure() { Property(x => x.Items) .InAppSettings() .RestoreAfterActivation(); } }
另外,尝试为类和属性添加[SurviveTombstone],但Visual Studio不知道该属性.
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); } } } }