windows-phone-7 – Caliburn Micro中的墓碑
发布时间:2020-09-18 06:03:12 所属栏目:Windows 来源:互联网
导读:我有MainPageViewModel与Items(ObservableCollection).在这个页面上,我还有一个按钮,可以向项目中添加新项目. public class MainPageViewModel : Screen { private DateTime StartActivity = DateTime.MinValue; public ObservableCollecti
我有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); } } } }>您应该不存储InAppSettings而是存储InPhoneState. >如果调用方法Configure,则使用断点检查.如果不是 – 你的引导程序有问题.可能缺少PhoneContainer.RegisterPhoneServices() >在Visual Studio中启用捕获第一次机会异常(Ctrl Alt E,并将CLR异常放入复选框).可能您的视图模型无法正确反序列化. (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- xaml – 如何在关闭时为SettingsFlyout设置动画
- .net – 在桌面下打开和关闭Windows 8触摸键盘tabtip
- 如何在Window中的嵌入式浏览器中调试Javascript?
- windows – 如何使批处理文件自行删除?
- 如何在Qt中设置按钮的背景颜色后保留Windows Aero主题?
- .net – System.Windows.Forms.WebBrowser:强制X86?
- 在Windows中运行/调试python程序的最简单的方法
- win7运行mapreduce报错Could not locate executable nullbi
- 故意破坏我的Windows应用程序的最佳方法是什么?
- window下强制杀死某个进程用taskkill /pid 进程号 -t -f命令