示例#1
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            LaoTzuForm       laoTzu     = new LaoTzuForm();
            List <MenuStrip> toolStrips = new List <MenuStrip>();

            toolStrips.Add(laoTzu.MenuStripMain);
            FormModelBinder modelBinder = new FormModelBinder(laoTzu.Controls, toolStrips);
            LaoTzuViewModel viewModel   = new LaoTzuViewModel(modelBinder, laoTzu);

            modelBinder.ViewModel = viewModel;
            modelBinder.Bind();
            Application.Run(laoTzu);
        }
示例#2
0
        public void LoadSettingsOnClick(object sender, EventArgs e)
        {
            Form.OpenFileDialog.InitialDirectory = this.WorkspaceFolder;
            Form.OpenFileDialog.Filter           = LaoTzuFileFilter;
            Form.OpenFileDialog.DefaultExt       = LaoTzuFileExtension;
            DialogResult result = Form.OpenFileDialog.ShowDialog();

            if (result == DialogResult.OK)
            {
                FileInfo        file   = new FileInfo(Form.OpenFileDialog.FileName);
                LaoTzuViewModel loaded = file.FromJsonFile <LaoTzuViewModel>();
                this.GetType().GetPropertiesWithAttributeOfType <ModelSetting>().Each(pi =>
                {
                    FormModelBinder.SetByTag(pi.Name, pi.GetValue(loaded).ToString());
                });

                SetSettingsStatus("Settings file: {0}"._Format(file.FullName));
            }
        }