uwp挂起与关闭

资源功能和要求功能实现对week3项目的修改具体实现MainPage的实现NewPage的改动资源资源代码 项目演示功能和要求(Mainpage.xaml.cs)在MainPage中点击checkbox出现横线,输入数据(选择图片),挂起并关闭程序,重新启动时,程序显示在Mainpage界面,并且点击的checkbox与对应横线,数据与图...
摘要由CSDN通过智能技术生成

资源

资源代码
项目演示

功能和要求

  • (Mainpage.xaml.cs)在MainPage中点击checkbox出现横线,输入数据(选择图片),挂起并关闭程序,重新启动时,程序显示在Mainpage界面,并且点击的checkbox与对应横线,数据与图片都存在。
  • (Newpage.xaml.cs)在NewPage中输入数据(或选择图片),挂起并关闭程序,重新启动时,程序显示在Newpage界面,数据与图片都存在。

功能实现

对week3项目的修改

因为week3的部分实现,不满足week4的设计,所以要对week3修改,主要原因是OnNavigationTo这个函数,第二个参数,在week3传递自定义参数到NewPage,但是week4要求保存现场,没法序列化自定义的复杂变量,所以将所有变量写到App.xaml.cs中,采用全局变量的方法,所以无需在页面中传值。

        public bool issuspend = true;
        public string currentId;
        public ListItemViewModels ViewModel;
        public BitmapImage srcImage;
        public App()
        {
            this.InitializeComponent();
            this.Suspending += OnSuspending;
            ViewModel = new ListItemViewModels();
        }

这样的改变会造成其他页面的相应的改变,public ListItemViewModels ViewModel = ((App) App.Current).ViewModel; 这样可以不改变MainPage.xaml的绑定书写,这样的赋值,经测试不是引用,所以应该还要将改动的内容改回App中的ViewModel,我是直接用((App) App.Current).ViewModel,所以代码看起来不太美观,改动也比较大。

具体实现

MainPage的实现

protected override void OnNavigatedFrom(NavigationEventArgs e)
        {
            bool suspending = ((App)App.Current).issuspend;
            if (suspending)
            {
                var composite = new ApplicationDataCompositeValue();
                composite["Title"] = TitleBlock.Text;
                composite["Details"] = DetailBlock.Text;
                composite["Date"] = Date.Date;
                composite["Visible"] = ((App)App.Current).ViewModel.AllItems[0].Completed;
                ApplicationData.Current.LocalSettings
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值