Выбор нового инструмента пользователем (интерфейс)

Выбор нового инструмента пользователем (интерфейс)
Atom
5/6/2013
UsilaDobry


Доброго вечера. Хочу в обработчике кнопки сделать смену контента кнопки, остановку процесса отрисовки графиков и стирание графиков. Чтобы потом выбирать новый инструмент и заново запускать вывод на график информации. Всё ли верно в нижеприведенном коде?

private void ChartButton_Click(object sender, RoutedEventArgs e)
        {
            if (_candleManager == null)
            {
                
                //Проверяем, чтобы значение тайм-фрейма было указано
                if (TpTimeFrame.Value == null)
                {
                    MessageBox.Show("Введите значение таймфрейм");
                    return;
                }
                //Получаем тайм-фрейм
                var timeFrame = TpTimeFrame.Value.Value.TimeOfDay;
                //Инициируем процесс получения свечей и дальнейшей отрисовки
                RunProcessGetCandles(timeFrame);
                // меняем контент кнопки
                ChartButton.Content = "Очистить график";
            }
            else
            {
                // отписываемся от процесса обработки свечей
                _candleManager.Processing -= ProcessCandle;
                // сбрасываем от рисованные ранее значения элементов графика
                Chart.Reset();
                // меняем контент кнопки
                ChartButton.Content = "Построить график";
            }
        }

Меня интересует метод Chart.Reset(), в нем надо указать один параметр elements (элементы графика), так у меня их 4 (свечи, индикатор, сделки, ордера). Или надо создать коллекцию из этих элементов, а в методе в качестве параметра указать эту коллекцию?




Thanks:


IvanB

Avatar
Date: 5/8/2013
Reply


UsilaDobry: Доброго вечера. Хочу в обработчике кнопки сделать смену контента кнопки, остановку процесса отрисовки графиков и стирание графиков. Чтобы потом выбирать новый инструмент и заново запускать вывод на график информации. Всё ли верно в нижеприведенном коде?

private void ChartButton_Click(object sender, RoutedEventArgs e)
        {
            if (_candleManager == null)
            {
                
                //Проверяем, чтобы значение тайм-фрейма было указано
                if (TpTimeFrame.Value == null)
                {
                    MessageBox.Show("Введите значение таймфрейм");
                    return;
                }
                //Получаем тайм-фрейм
                var timeFrame = TpTimeFrame.Value.Value.TimeOfDay;
                //Инициируем процесс получения свечей и дальнейшей отрисовки
                RunProcessGetCandles(timeFrame);
                // меняем контент кнопки
                ChartButton.Content = "Очистить график";
            }
            else
            {
                // отписываемся от процесса обработки свечей
                _candleManager.Processing -= ProcessCandle;
                // сбрасываем от рисованные ранее значения элементов графика
                Chart.Reset();
                // меняем контент кнопки
                ChartButton.Content = "Построить график";
            }
        }

Меня интересует метод Chart.Reset(), в нем надо указать один параметр elements (элементы графика), так у меня их 4 (свечи, индикатор, сделки, ордера). Или надо создать коллекцию из этих элементов, а в методе в качестве параметра указать эту коллекцию?

Да, в метод Chart.Reset нужно подавать коллекцию. Если Вы используете _candleManager в качестве признака для выбора действия нажатия кнопки, то ему необходимо присваивать null, когда пользователь нажал на кнопку "Очистить график".

Thanks: UsilaDobry


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy