Exemplo n.º 1
0
        protected override async void OnInitialize()
        {
            if (firstLaunch)
            {
                firstLaunch = false;
                //读取json按对象重新保存一次。防止json格式不全
                var Setting = await JsonHelper.JsonDeserializeFromFileAsync <SettingObject>(AppManager.SettingPath);

                await JsonHelper.JsonSerializeAsync(Setting, AppManager.SettingPath);
            }

            var config = await JsonHelper.JsonDeserializeFromFileAsync <dynamic>(AppManager.SettingPath);

            //string descPath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "Res\\setting.desc.json");
            var descConfig = await JsonHelper.JsonDeserializeFromFileAsync <dynamic>(AppManager.SettingDescFile);

            List <dynamic> audioSource    = new List <dynamic>();
            List <dynamic> displayMonitor = new List <dynamic>();

            displayMonitor.Add(new
            {
                lanKey = "setting_displayMonitor_default",
                value  = -1
            });
            audioSource.Add(new
            {
                lanKey = "setting_audioSource_mute",
                value  = -1
            });

            string screenStr = await LanService.Get("setting_screen");

            for (int i = 0; i < System.Windows.Forms.Screen.AllScreens.Length; i++)
            {
                displayMonitor.Add(new
                {
                    lan   = string.Format($"{screenStr} {i + 1}"),
                    value = i
                });
                audioSource.Add(new
                {
                    lan   = string.Format($"{screenStr} {i + 1}"),
                    value = i
                });
            }

            _jcrService.InjectDescObjs("$AudioSource", audioSource);
            _jcrService.InjectDescObjs("$DisplayMonitor", displayMonitor);

            JsonConfierViewModel = _jcrService.GetVM(config, descConfig);
            base.OnInitialize();
        }
Exemplo n.º 2
0
        private async void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            var data = await JsonHelper.JsonDeserializeFromFileAsync <object>(path);

            var defaultData = await JsonHelper.JsonDeserializeFromFileAsync <object>(defaultPath);

            var dataDesc = await JsonHelper.JsonDeserializeFromFileAsync <object>(descPath);

            List <dynamic> extraDescObjs = new List <dynamic>();

            extraDescObjs.Add(new
            {
                lan   = string.Format($"禁用"),
                value = -1
            });
            for (int i = 0; i < System.Windows.Forms.Screen.AllScreens.Length; i++)
            {
                extraDescObjs.Add(new
                {
                    lan   = string.Format($"屏幕{i}"),
                    value = i
                });
            }

            service.InjectDescObjs("$screen", extraDescObjs);

            data = JCrService.CheckDefault(data as JObject, defaultData as JObject);

            control             = service.GetView(data as JObject, dataDesc as JObject);
            control.BorderBrush = new SolidColorBrush(Colors.Red);

            grid.Children.Insert(0, control);
        }
Exemplo n.º 3
0
        protected override async void OnInitialize()
        {
            if (firstLaunch)
            {
                firstLaunch = false;
                //读取json按对象重新保存一次。防止json格式不全
                var Setting = await JsonHelper.JsonDeserializeFromFileAsync <SettingObject>(AppManager.SettingPath);

                await JsonHelper.JsonSerializeAsync(Setting, AppManager.SettingPath);
            }

            var config = await JsonHelper.JsonDeserializeFromFileAsync <dynamic>(AppManager.SettingPath);

            //string descPath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "Res\\setting.desc.json");
            var descConfig = await JsonHelper.JsonDeserializeFromFileAsync <dynamic>(AppManager.SettingDescFile);

            List <dynamic> audioSource    = new List <dynamic>();
            List <dynamic> displayMonitor = new List <dynamic>();

            displayMonitor.Add(new
            {
                lanKey = "setting_displayMonitor_default",
                value  = -1
            });
            audioSource.Add(new
            {
                lanKey = "setting_audioSource_mute",
                value  = -1
            });

            string screenStr = await LanService.Get("setting_screen");

            for (int i = 0; i < System.Windows.Forms.Screen.AllScreens.Length; i++)
            {
                displayMonitor.Add(new
                {
                    lan   = string.Format($"{screenStr} {i + 1}"),
                    value = i
                });
                audioSource.Add(new
                {
                    lan   = string.Format($"{screenStr} {i + 1}"),
                    value = i
                });
            }

            _jcrService.InjectDescObjs("$AudioSource", audioSource);
            _jcrService.InjectDescObjs("$DisplayMonitor", displayMonitor);

            //多语言
            DirectoryInfo languageFilesDir = new DirectoryInfo(AppManager.GetLangaugesFilePath());
            var           files            = languageFilesDir.GetFiles("*.json");

            if (files != null)
            {
                List <dynamic> languages = new List <dynamic>();
                foreach (var file in files)
                {
                    string cultureName = file.Name.Replace(file.Extension, "");
                    string text        = await LanService.Get("language", cultureName);

                    languages.Add(new
                    {
                        lan   = text,
                        value = cultureName
                    });
                }
                _jcrService.InjectDescObjs("$languages", languages);
            }

            JsonConfierViewModel = _jcrService.GetVM(config, descConfig);
            base.OnInitialize();
        }