﻿<?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/4090/sobytie-poyavleniya-instrumentov-i-portfelei/</id>
  <rights type="text">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  <updated>2026-06-21T08:19:40Z</updated>
  <logo>https://stocksharp.ru/images/logo.png</logo>
  <link href="https://stocksharp.ru/handlers/atom.ashx?category=topic&amp;id=4090" rel="self" type="application/rss+xml" />
  <entry>
    <id>https://stocksharp.ru/posts/m/27999/</id>
    <title type="text">pft_man: Добрый день. Я вместо WpfConnectionInterface написал подключение и отключение к терминалу п...</title>
    <published>2013-11-04T07:41:48Z</published>
    <updated>2013-11-04T07:41:48Z</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(27996)" rel="nofollow" target="_blank"&gt;pft_man&lt;/a&gt;:&lt;/strong&gt;
Добрый день.&lt;/p&gt;
&lt;p&gt;Я вместо WpfConnectionInterface написал подключение и отключение к терминалу прямо в коде проекта. Сделал два TextBox'а, в св-во Text которых попадает соответственно название инструмента и портфеля, как только они появляются. При отключении они очищаются .Clear(). Дело в том, что при повторном подключении (т.е. если нажать Disconnect, а затем снова Connect) туда ничего не записывается, в чём может быть проблема? Прикрепил сюда мой небольшой проект с подключением.&lt;/p&gt;
&lt;p&gt;И ещё вопрос новичка - зачем мы Action инициализируем null'ом (так было в предыдущей версии WpfConnectionInterface)? Нельзя просто написать: Action connected; ?&lt;/p&gt;
&lt;div class="spoiler"&gt;&lt;/div&gt;&lt;/blockquote&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
Action connected = null;
connected = () =&amp;gt;
{
    _connection.Trader.Connected -= connected;
    this.GuiAsync(() =&amp;gt;
        {
            btnConnect.Background = new SolidColorBrush(Colors.LightCoral);
            btnConnect.Content = &amp;quot;Disconnect&amp;quot;;
            btnConnect.IsEnabled = true;
        });
};
                
_connection.Trader.Connected += connected;

&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;&lt;p&gt;При повторном нажатии на кнопку Connect не происходит вызов обработчика появления новых инструментов и портфелей по причине того, что соответствующие коллекции Securities и Portfolios у трейдера уже содержат все приходящие элементы, т.е. нет новых элементов, фактически. В Вашем случае можно удалять и создавать вновь коннектор, тогда при новом подключении соответствующие коллекции изначально будут пустые, и обработчик будет срабатывать как Вы сейчас ожидаете.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;И ещё вопрос новичка - зачем мы Action инициализируем null'ом (так было в предыдущей версии WpfConnectionInterface)? Нельзя просто написать: Action connected; ?
В данном случае можно и не инициализировать явно, но на старте изучения программирования, все-же лучше явно инициализировать начальные значения не элементарных переменных (элементарные: int, double, long, bool, ...)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/div&gt;</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
  <entry>
    <id>https://stocksharp.ru/posts/m/27996/</id>
    <title type="text">Добрый день. Я вместо WpfConnectionInterface написал подключение и отключение к терминалу прямо в ко...</title>
    <published>2013-11-03T22:46:32Z</published>
    <updated>2013-11-03T22:46:32Z</updated>
    <author>
      <name>pft_man</name>
      <uri>https://stocksharp.ru/users/28735/</uri>
      <email>info@stocksharp.ru</email>
    </author>
    <content type="html">&lt;p&gt;Добрый день.&lt;/p&gt;
&lt;p&gt;Я вместо WpfConnectionInterface написал подключение и отключение к терминалу прямо в коде проекта. Сделал два TextBox'а, в св-во Text которых попадает соответственно название инструмента и портфеля, как только они появляются. При отключении они очищаются .Clear(). Дело в том, что при повторном подключении (т.е. если нажать Disconnect, а затем снова Connect) туда ничего не записывается, в чём может быть проблема? Прикрепил сюда мой небольшой проект с подключением.&lt;/p&gt;
&lt;p&gt;И ещё вопрос новичка - зачем мы Action инициализируем null'ом (так было в предыдущей версии WpfConnectionInterface)? Нельзя просто написать: Action connected; ?&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-csharp"&gt;
Action connected = null;
connected = () =&amp;gt;
{
    _connection.Trader.Connected -= connected;
    this.GuiAsync(() =&amp;gt;
        {
            btnConnect.Background = new SolidColorBrush(Colors.LightCoral);
            btnConnect.Content = &amp;quot;Disconnect&amp;quot;;
            btnConnect.IsEnabled = true;
        });
};
                
_connection.Trader.Connected += connected;

&lt;/code&gt;&lt;/pre&gt;
</content>
    <rights type="html">Copyright @ StockSharp Platform LLC 2010 - 2025</rights>
  </entry>
</feed>