最近需要做一个配置程序,主要给其他程序做相关配置的小工具。

WPF 分享一种设置程序保存配置文件的方法

配置项蛮多的,一般我们都是将各个配置项写到配置文件的节点中,比如App.config文件或者自定义的xml文件。

因为我用的是wpf,MVVM,所以其实界面上的所有数据我都存着ViewModel的实体属性中。比如我们新建一个Model,叫SettingModel,界面上不管做任何更改,其实数据都和SettingModel中一样。

我们将这个SettingModel的内存数据序列化到本地文件。等下次运行程序时,再去反序列化将SettingModel的数据加载到ViewModel中。

  public class SettingModel:ObservableObject
    {
        private string _FConnStr;

        public string FConnStr
        {
            get { return _FConnStr; }
            set { _FConnStr = value; RaisePropertyChanged("FConnStr"); }
        }


        private string _DBType;

        public string DBType
        {
            get { return _DBType; }
            set { _DBType = value; RaisePropertyChanged("DBType"); }
        }

        private string _SupplierName;

        public string SupplierName
        {
            get { return _SupplierName; }
            set { _SupplierName = value; RaisePropertyChanged("SupplierName"); }
        }

        private string _SupplierNo;

        public string  SupplierNo
        {
            get { return _SupplierNo; }
            set { _SupplierNo = value; RaisePropertyChanged("SupplierNo"); }
        }

        private List<ComboxModel> _SQLList;

        public List<ComboxModel> SQLList
        {
            get { return _SQLList; }
            set { _SQLList = value; RaisePropertyChanged("SQLList"); }
        }

        private string _StartTime;

        public string StartTime
        {
            get { return _StartTime; }
            set { _StartTime = value; RaisePropertyChanged("StartTime"); }
        }

        private string _EndTime;

        public string EndTime
        {
            get { return _EndTime; }
            set { _EndTime = value; RaisePropertyChanged("EndTime"); }
        }

        private int _Rate;

        public int Rate
        {
            get { return _Rate; }
            set { _Rate = value; RaisePropertyChanged("Rate"); }
        }

        private DateTime _TransmissionDate;

        public DateTime TransmissionDate
        {
            get { return _TransmissionDate; }
            set { _TransmissionDate = value; RaisePropertyChanged("TransmissionDate"); }
        }

        private string _ServiceAddress;

        public string ServiceAddress
        {
            get { return _ServiceAddress; }
            set { _ServiceAddress = value; RaisePropertyChanged("ServiceAddress"); }
        }

    }
View Code

相关文章:

  • 2021-11-27
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-10
  • 2022-12-23
  • 2021-12-10
  • 2021-04-27
猜你喜欢
  • 2021-09-01
  • 2022-12-23
  • 2021-07-16
  • 2021-05-26
  • 2021-07-26
  • 2021-11-04
  • 2021-12-22
相关资源
相似解决方案