예제 #1
0
        // Конструкторы
        #region Конструкторы

        public MainWindow()
        {
            InitializeComponent();
            this.WindowStartupLocation = WindowStartupLocation.CenterScreen;
            m_Tasks               = new ObservableCollection <MyTask>();
            m_TasksCounter        = 0;
            m_CurrentTask         = null;
            m_OutputStringBuilder = new MyStringBuilder();
            m_StatusBarMessage    = String.Empty;
            //m_CurrentTaskId = 0;
            //m_NumOfTasksToComplete = 0;

            Properties.Settings.Default.TempDirectory = System.IO.Path.Combine(System.IO.Path.GetTempPath(),
                                                                               "GDAL_GUI_TEMP_THUMBNAILS");
            System.IO.Directory.CreateDirectory(Properties.Settings.Default.TempDirectory);

            TaskManager.InitializeProcessManager(this);
            TaskManager.SetDataReceivedHandler = OutputDataRecieved;

            // Привязка StringBuilder к TextBlock
            Binding myBinding = new Binding();

            myBinding.Path   = new PropertyPath("Text");
            myBinding.Mode   = BindingMode.OneWay;
            myBinding.Source = m_OutputStringBuilder;
            myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
            TextBox_OutputData.SetBinding(TextBox.TextProperty, myBinding);

            Binding myBindingStatusBar = new Binding();

            myBindingStatusBar.Path   = new PropertyPath("StatusBarMessage");
            myBindingStatusBar.Mode   = BindingMode.TwoWay;
            myBindingStatusBar.Source = this;
            myBindingStatusBar.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
            //StatusBar_Label.SetBinding(Label.ContentProperty, myBindingStatusBar);
            StatusBar_TextBlock.SetBinding(TextBlock.TextProperty, myBindingStatusBar);

            Binding myBindingProgressBar = new Binding();

            myBindingProgressBar.Path   = new PropertyPath("ProgressBarValue");
            myBindingProgressBar.Mode   = BindingMode.TwoWay;
            myBindingProgressBar.Source = this;
            myBindingProgressBar.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
            StatusBar_ProgressBar.SetBinding(ProgressBar.ValueProperty, myBindingProgressBar);

            Binding myBindingCurrentTaskIdTextBlock = new Binding();

            myBindingCurrentTaskIdTextBlock.Path   = new PropertyPath("StatusBarCurrentTaskId");
            myBindingCurrentTaskIdTextBlock.Mode   = BindingMode.TwoWay;
            myBindingCurrentTaskIdTextBlock.Source = this;
            myBindingCurrentTaskIdTextBlock.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
            StatusBar_TextBlock_CurrentTaskId.SetBinding(TextBlock.TextProperty, myBindingCurrentTaskIdTextBlock);

            Binding myBindingNumOfTasksToComplete = new Binding();

            myBindingNumOfTasksToComplete.Path   = new PropertyPath("StatusBarNumOfTasksToComplete");
            myBindingNumOfTasksToComplete.Mode   = BindingMode.TwoWay;
            myBindingNumOfTasksToComplete.Source = this;
            myBindingNumOfTasksToComplete.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
            StatusBar_TextBlock_NumOfTasksToComplete.SetBinding(TextBlock.TextProperty, myBindingNumOfTasksToComplete);

            EventAndPropertiesInitialization();
        }
예제 #2
0
 // Очистка окна вывода
 private void Menu_Output_Clear_Click(object sender, RoutedEventArgs e)
 {
     m_OutputStringBuilder.Clear();
     TextBox_OutputData.Clear();
 }