将隔离存储添加到Windows Phone Silverlight 8.1 Viewmodel

时间:2014-08-19 16:30:20

标签: c# silverlight mvvm windows-phone-8.1

我正在创建一个增强型笔记应用程序(在数据绑定应用程序模板中),在每个单独的笔记中,有一个按钮可以启动文件选择器,用户可以从图片库中选择图像。从本质上讲,我希望每个音符都有自己的图像集(尽管不会在页面上显示)。在项目的viewmodel中,我有一个每个音符(音符模型)的项目模型,其中包含音符ID和音符文本的属性。每个笔记都有自己的ID,基于日期时间刻度。我尝试在注释模型中添加另一个属性,因此每个注释基本上都有自己的存储文件夹,可以将文件保存到并加载(在OnNavigated方法中),但我还不确定如何实现此功能。如果碰巧有另一种方法将文件选择器中选择的图像存储到每个笔记的唯一存储空间,我可以接受任何建议。我只是想让用户能够为每个音符保存一组特定的图像,并将该文件夹传递给另一个可以操作它的方法。我实际上并不打算在应用程序中显示图像,这就是我没有将图像绑定到视图控件的原因。这是我到目前为止所尝试的内容(我将发布所有项目模型属性以供参考):

    private string _id;
    public string ID
    {
        get { return _id; }
        set
        {
            if (value != _id)
            {
                _id = value;
                NotifyPropertyChanged("ID");
            }
        }
    }



    private string _modDate;

    public string ModifiedDate
    {
        get { return _modDate; }
        set
        {
            if (value != _modDate)
            {
                _modDate = value;
                NotifyPropertyChanged("ModifiedDate");
            }
        }
    }

    IsolatedStorageFile Playlist = IsolatedStorageFile.GetUserStoreForApplication();
    private IsolatedStorageFile  _playlist;
    public IsolatedStorageFile  Playlist
    {
        get { return _playlist; }
        set
        {

            if (value.ToString() != _id)
            {
                _playlist = value;
                NotifyPropertyChanged("Playlist");
            }
        }
    }


    private string _note;
    public string Note
    {
        get { return _note; }
        set
        {
            if (value != _id)
            {
                _note = value;
                ModifiedDate = DateTime.Now.ToString();
                string[] lines = _note.Split('\n');

                if (lines.Length > 0)
                    FirstLine = lines[0];
                NotifyPropertyChanged("Note");
            }
        }
    }

    private string _firstLine;
    public string FirstLine
    {
        get { return _firstLine; }
        set
        {
            if (value != _id)
            {
                _firstLine = value;
                NotifyPropertyChanged("FirstLine");
            }
        }
    }

0 个答案:

没有答案