/// <summary> /// 设置控件数据 /// </summary> public static void SetControlData(this Window win) { MD5 md5 = new MD5CryptoServiceProvider(); md5.ComputeHash(Encoding.Default.GetBytes(win.GetType().FullName + win.Title)); string winFileName = string.Join("", md5.Hash.Select(b => (b).ToString())); var path = Path.Combine(BaseApp.AppTempFilePath, @"HistoryData\" + winFileName + ".txt"); if (File.Exists(path)) { string str = File.ReadAllText(path, Encoding.Default); var datas = SerializerUnit.JsonToObj <List <SaveData> >(str); SetControlData(win, datas); } }
/// <summary> /// 设置控件数据 /// </summary> public static void SetControlData(this FrameworkElement element, Window win, out List <SaveData> datas) { datas = new List <SaveData>(); MD5 md5 = new MD5CryptoServiceProvider(); string addInfo = element.Name.Equals("") ? element.GetType().FullName : string.Format("_" + element.Name); md5.ComputeHash(Encoding.Default.GetBytes(win.GetType().FullName + win.Title + addInfo)); string winFileName = string.Join("", md5.Hash.Select(b => (b).ToString())); var path = Path.Combine(BaseApp.AppTempFilePath, @"HistoryData\" + winFileName + ".txt"); if (File.Exists(path)) { string str = File.ReadAllText(path, Encoding.Default); datas = SerializerUnit.JsonToObj <List <SaveData> >(str); SetControlData(element, datas); } }
/// <summary> /// 保存控件数据 /// </summary> public static void SaveControlData(this Window win, List <SaveData> perDatas = null) { MD5 md5 = new MD5CryptoServiceProvider(); md5.ComputeHash(Encoding.Default.GetBytes(win.GetType().FullName + win.Title)); string winFileName = string.Join("", md5.Hash.Select(b => b.ToString())); var path = Path.Combine(BaseApp.AppTempFilePath, @"HistoryData\" + winFileName + ".txt"); var datas = new List <SaveData>(); if (perDatas != null) { datas.AddRange(perDatas); } GetControlData(win, datas); string saveData = SerializerUnit.ObjectToJson(datas); if (!Directory.Exists(Path.GetDirectoryName(path))) { Directory.CreateDirectory(Path.GetDirectoryName(path)); } File.WriteAllText(path, saveData, Encoding.Default); }