private void AddMessage(ChatMessageClass m, bool meAdd)
        {
            //select the tab

            TabItem t = null;

            if (meAdd)
            {
                t = (TabItem)tabChat.SelectedItem;
            }
            else
            {
                foreach (TabItem item in tabChat.Items)
                {
                    if (item.Header != null && item.Header.ToString() == m.From)
                    {
                        t = item;
                    }
                }
            }

            if (t == null)
            {
                return;
            }

            ChatWindow cw = (ChatWindow)t.Content;

            cw.txtChat.Text += m.Date.ToString() + ' ' + m.From + Environment.NewLine + m.Message + Environment.NewLine;
            cw.txtChat.Text += Environment.NewLine;

            UpdateLayout(cw);
        }
Example #2
0
        public void Send(ChatMessageClass message)
        {
            LoginsClass ic = Logins.Where(x => x.Name == message.To).FirstOrDefault();

            try
            {
                ic.Client.Receive(message);
            }
            catch (Exception)
            {
                Logout(ic.Name);
            }

            SendUsersList();
        }
        private void btnSend_Click(object sender, RoutedEventArgs e)
        {
            TabItem t = (TabItem)tabChat.SelectedItem;

            if (t.Header == null)
            {
                return;
            }

            if (txtMessage.Text != string.Empty)
            {
                ChatMessageClass m = new ChatMessageClass();
                m.From    = MainData.UserName;
                m.To      = t.Header.ToString();
                m.Message = txtMessage.Text;
                m.Date    = DateTime.Now;
                MainData.BmClient.SendAsync(m);

                AddMessage(m, true);
                txtMessage.Text = "";
            }
        }