private void Form1_Load(object sender, EventArgs e) { mus = new MyUserSettings(); mus.BackgroundColor = Color.Azure; this.DataBindings.Add(new Binding("BackColor", mus, "BackgroundColor")); }
public void Startup_Procedure(object x, System.EventArgs e) { Console.WriteLine("Запуск главной формы"); Application app = Current; //Считываем с диска файл с параметрами,имя файла запомнено с помощью //механизма ApplicationSettingBase mySettings = new MyUserSettings(); scull_Furnaces_Main_Window = new Scull_Furnaces_Main_Window(); scull_Furnaces_Main_Window.InitializeComponent(); //Устанавливаем имя считываемого файла из сохранённого значания, оно будет обновлятся //после диалога с пользователем scull_Furnaces_Main_Window._remembranceOfFileName.fileName = mySettings.FileName; //записываем его в глобальное поле как для доступа из консольной программы Globals.fileName = scull_Furnaces_Main_Window._remembranceOfFileName.fileName; WriteLine("Считанное имя файла : {0}", Globals.fileName); scull_Furnaces_Main_Window._remembranceOfFileName.PropertyChanged += rememberTheChosenFileName; Globals.readAllTheBytes(Globals.fileName); //проверка файла через чтение его в память и проверку первого блока ReadParamFromDisk packedParameters = new ReadParamFromDisk(Globals.fileName); //повторное чтение файла параметров //в память с инструментарием для работы с ним. unpackedParameters = new TickParamsAll(packedParameters); //получение распакованного массива //File.WriteAllBytes(Globals.fileName+".bin", unpackedParameters.inflatedParameters); //запись на диск //распакованного массива //scull_Furnaces_Main_Window.maxValueForCurrentOnYAxis.Text = mySettings.UpperLimitForCurrent; scull_Furnaces_Main_Window.maxValueForCurrentOnYAxis.DataContext = mySettings; scull_Furnaces_Main_Window.begTimeOnXAxis.clockWatch.Alarm_On = false; //не обнавлять график при начальной установке диапазона времени для отображения scull_Furnaces_Main_Window.endTimeOnXAxis.clockWatch.Alarm_On = false; //не обнавлять график при начальной установке диапазона времени для отображения scull_Furnaces_Main_Window.begTimeOnXAxis.Ticks.Text = mySettings.TimeLowerBoundaryForTheCurrent.ToString(); scull_Furnaces_Main_Window.endTimeOnXAxis.Ticks.Text = mySettings.TimeUpperBoundaryForTheCurrent.ToString(); scull_Furnaces_Main_Window.begTimeOnXAxis.clockWatch.AlarmProcedure += scull_Furnaces_Main_Window.setMinTimeValue; scull_Furnaces_Main_Window.endTimeOnXAxis.clockWatch.AlarmProcedure += scull_Furnaces_Main_Window.setMaxTimeValue; scull_Furnaces_Main_Window.begTimeOnXAxis.clockWatch.Alarm_On = true; //обновлять график при изменении нижней границы диапазона времени scull_Furnaces_Main_Window.endTimeOnXAxis.clockWatch.Alarm_On = true; //обновлять график при изменении верхней границы диапазона времени scull_Furnaces_Main_Window.WindowStyle = WindowStyle.ToolWindow; scull_Furnaces_Main_Window.Show(); ParameterAllValues parameterDescription = null; foreach (var pair in ParameterData) { parameterDescription = pair.Value; if (parameterDescription.parameterType == ParameterType.дискретный) { DiscretePlaque btnControl = new DiscretePlaque() { Content = parameterDescription.parameterName }; btnControl.discreteNumber = pair.Key; // the key in the Dictionary remembered //Binding colorBindingForAParameter = new Binding("parameterState"); //to the parameterDesription !!! Binding colorBindingForAParameter = parameterDescription.colorBinding; ColorSource colorSourceForAParameter = new ColorSource(); colorBindingForAParameter.Source = colorSourceForAParameter; //put the Binding into initial state, setting the parameterState in colorSourceForAParameter in accordance with the parameter value being read from disk colorBindingForAParameter.Converter = colorSourceForAParameter; btnControl.SetBinding(Button.BackgroundProperty, colorBindingForAParameter); btnControl.Template = (ControlTemplate)scull_Furnaces_Main_Window.FindResource("MyBetterButtonTemplate"); //btnControl.discreteNumber - ?? how to define ? the number in [] scull_Furnaces_Main_Window.uniGrid.Children.Add(btnControl); } } //Устанаваливаем номер вкладки на окне из сохранённого значения, он будет обновлятся далее //автоматически через привязку BINDING к номеру вкладки в XAML окна scull_Furnaces_Main_Window._typeOfParameters.PropertyChanged += rememberThePageWithParameters; scull_Furnaces_Main_Window._typeOfParameters.theNumberOfTab = mySettings.SelectedIndex; TimeMover.numberOfSecond = 1; //Начинаем просмотр дискретов с 1 секунды! }