private void Form1_Load(object sender, EventArgs e)
 {
     mus = new MyUserSettings();
     mus.BackgroundColor = Color.Azure;
     this.DataBindings.Add(new Binding("BackColor", mus, "BackgroundColor"));
 }
Exemple #2
0
    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 секунды!
    }