private void OnUpdate(object sender, object e)
        {
            if (!SortedSet <Trader> .CreateSetComparer().Equals(lastCheckedTraderList, Program.Market.TradersListCopy))
            {
                TraderGrid.Children.Clear();
                TraderGrid.RowDefinitions.Clear();
                int i = 0;
                foreach (var trader in Program.Market.TradersListCopy)
                {
                    RowDefinition row = new RowDefinition();
                    row.Height = new GridLength(20);
                    TraderGrid.RowDefinitions.Add(row);
                    Button traderButton = new Button();
                    traderButton.Style   = (Style)Resources["TraderBut"];
                    traderButton.Content = trader.ID;
                    traderButton.Width   = TraderGrid.ColumnDefinitions[0].ActualWidth;
                    TraderGrid.Children.Add(traderButton);
                    Grid.SetRow(traderButton, i++);
                }
            }
            MessageGrid.Children.Clear();
            MessageGrid.RowDefinitions.Clear();
            int j = 0;

            foreach (var message in Program.Market.UiMessageList)
            {
                RowDefinition row = new RowDefinition();
                row.Height = new GridLength(20);
                MessageGrid.RowDefinitions.Add(row);
                TextBlock textToAdd = new TextBlock();
                textToAdd.Text   = message;
                textToAdd.Height = 20;
                textToAdd.Width  = MessageGrid.ColumnDefinitions[0].ActualWidth;
                MessageGrid.Children.Add(textToAdd);
                Grid.SetRow(textToAdd, j++);
            }
            if (Program.Handler != null && Program.Handler.Trader != null)
            {
                YourIDLabel.Text = Program.Handler.Trader.ID;
            }
            if (Program.Market.StockHolder != null)
            {
                StockHolderLabel.Text = Program.Market.StockHolder.ID;
            }
            MessagePane.ScrollToBottom();
            TraderPane.ScrollToBottom();
        }
        private void OnUpdate(object sender, object e)
        {
            if (Program.IsRunning == false)
            {
                Environment.Exit(1);
            }
            TraderGrid.Children.Clear();
            TraderGrid.RowDefinitions.Clear();
            int i = 0;

            foreach (var trader in Market.TraderListCopy)
            {
                RowDefinition row = new RowDefinition();
                row.Height = new GridLength(20);
                TraderGrid.RowDefinitions.Add(row);
                Button traderButton = new Button();
                traderButton.Content = trader.ID;
                traderButton.Width   = TraderGrid.ColumnDefinitions[0].ActualWidth;
                traderButton.Height  = 20;
                TraderGrid.Children.Add(traderButton);
                Grid.SetRow(traderButton, i++);
            }
            MessageGrid.Children.Clear();
            MessageGrid.RowDefinitions.Clear();
            int j = 0;

            foreach (var message in Market.MarketMessagesCopy)
            {
                RowDefinition row = new RowDefinition();
                row.Height = new GridLength(20);
                MessageGrid.RowDefinitions.Add(row);
                TextBlock textToAdd = new TextBlock();
                textToAdd.Text   = message;
                textToAdd.Height = 20;
                textToAdd.Width  = MessageGrid.ColumnDefinitions[0].ActualWidth;
                MessageGrid.Children.Add(textToAdd);
                Grid.SetRow(textToAdd, j++);
            }
            MessagePane.ScrollToBottom();
            TraderPane.ScrollToBottom();
        }