﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/style.css'?>
<?xml-stylesheet type='text/css' href='https://stocksharp.ru/css/bbeditor.css'?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html">Выбор нового инструмента пользователем (интерфейс)</title>
  <id>~/topic/3673/vybor-novogo-instrumenta-polzovatelem-(interfeis)/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-21T11:44:07Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=3673" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/25829/</id>
    <title type="text">Доброго вечера. Хочу в обработчике кнопки сделать смену контента кнопки, остановку процесса отрисовк...</title>
    <published>2013-05-06T15:52:56Z</published>
    <updated>2013-06-23T15:10:03Z</updated>
    <author>
      <name>UsilaDobry</name>
      <uri>https://stocksharp.ru/users/28825/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Доброго вечера.
Хочу в обработчике кнопки сделать смену контента кнопки, остановку процесса отрисовки графиков и стирание графиков. Чтобы потом выбирать новый инструмент и заново запускать вывод на график информации.
Всё ли верно в нижеприведенном коде?&lt;/p&gt;
&lt;div class="spoiler"&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;private void ChartButton_Click(object sender, RoutedEventArgs e)
        {
            if (_candleManager == null)
            {
                
                //Проверяем, чтобы значение тайм-фрейма было указано
                if (TpTimeFrame.Value == null)
                {
                    MessageBox.Show(&amp;quot;Введите значение таймфрейм&amp;quot;);
                    return;
                }
                //Получаем тайм-фрейм
                var timeFrame = TpTimeFrame.Value.Value.TimeOfDay;
                //Инициируем процесс получения свечей и дальнейшей отрисовки
                RunProcessGetCandles(timeFrame);
                // меняем контент кнопки
                ChartButton.Content = &amp;quot;Очистить график&amp;quot;;
            }
            else
            {
                // отписываемся от процесса обработки свечей
                _candleManager.Processing -= ProcessCandle;
                // сбрасываем от рисованные ранее значения элементов графика
                Chart.Reset();
                // меняем контент кнопки
                ChartButton.Content = &amp;quot;Построить график&amp;quot;;
            }
        }
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Меня интересует метод Chart.Reset(), в нем надо указать один параметр elements (элементы графика), так у меня их 4 (свечи, индикатор, сделки, ордера). Или надо создать коллекцию из этих элементов, а в методе в качестве параметра указать эту коллекцию?&lt;/p&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/25847/</id>
    <title type="text">UsilaDobry: Доброго вечера. Хочу в обработчике кнопки сделать смену контента кнопки, остановку проце...</title>
    <published>2013-05-08T04:55:39Z</published>
    <updated>2013-05-08T04:55:39Z</updated>
    <author>
      <name>IvanB</name>
      <uri>https://stocksharp.ru/users/26984/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="@message(25829)" rel="nofollow" target="_blank"&gt;UsilaDobry&lt;/a&gt;:&lt;/strong&gt;
Доброго вечера.
Хочу в обработчике кнопки сделать смену контента кнопки, остановку процесса отрисовки графиков и стирание графиков. Чтобы потом выбирать новый инструмент и заново запускать вывод на график информации.
Всё ли верно в нижеприведенном коде?&lt;/p&gt;
&lt;div class="spoiler"&gt;&lt;/div&gt;&lt;/blockquote&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;private void ChartButton_Click(object sender, RoutedEventArgs e)
        {
            if (_candleManager == null)
            {
                
                //Проверяем, чтобы значение тайм-фрейма было указано
                if (TpTimeFrame.Value == null)
                {
                    MessageBox.Show(&amp;quot;Введите значение таймфрейм&amp;quot;);
                    return;
                }
                //Получаем тайм-фрейм
                var timeFrame = TpTimeFrame.Value.Value.TimeOfDay;
                //Инициируем процесс получения свечей и дальнейшей отрисовки
                RunProcessGetCandles(timeFrame);
                // меняем контент кнопки
                ChartButton.Content = &amp;quot;Очистить график&amp;quot;;
            }
            else
            {
                // отписываемся от процесса обработки свечей
                _candleManager.Processing -= ProcessCandle;
                // сбрасываем от рисованные ранее значения элементов графика
                Chart.Reset();
                // меняем контент кнопки
                ChartButton.Content = &amp;quot;Построить график&amp;quot;;
            }
        }
&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;blockquote&gt;
&lt;p&gt;Меня интересует метод Chart.Reset(), в нем надо указать один параметр elements (элементы графика), так у меня их 4 (свечи, индикатор, сделки, ордера). Или надо создать коллекцию из этих элементов, а в методе в качестве параметра указать эту коллекцию?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Да, в метод Chart.Reset нужно подавать коллекцию.
Если Вы используете _candleManager в качестве признака для выбора действия нажатия кнопки, то ему необходимо присваивать null, когда пользователь нажал на кнопку &amp;quot;Очистить график&amp;quot;.&lt;/p&gt;
&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>