/******************************/ /* Other Functions */ /******************************/ #region Other Functions /// <summary> /// AddMessage /// </summary> /// <param name="message"></param> /// <param name="direction"></param> public void AddMessage(byte[] message, Direction direction) { LineStackPanel.Children.Add(new HexMessageUC { HexContentByte = message, MessageDirection = direction }); ScrollViewer1.ScrollToBottom(); }
/// <summary> /// ProcessMessage /// </summary> /// <param name="message"></param> /// <param name="direction"></param> private void ProcessMessage(byte[] message, Direction direction) { if (DispatcherObjectMessage.Thread != System.Threading.Thread.CurrentThread) { DispatcherObjectMessage.Invoke(new ProcessMessageDelegate(ProcessMessage), System.Windows.Threading.DispatcherPriority.ApplicationIdle, message, direction); } else { try { LineStackPanel.Children.Add(new HexMessageUC { HexContentByte = message, MessageDirection = direction }); ScrollViewer1.ScrollToBottom(); } catch (Exception ex) { _logger.Error("Exception in ProcessMessage " + ex.Message); } } }