public void AddMessage(UI.ContactItem.Contact senderContact, string messageContent) { this.spMessageList.Dispatcher.Invoke(() => { UI.MessageItem receivedMessage = new UI.MessageItem(); receivedMessage.Content = messageContent; receivedMessage.Username = senderContact.Username; receivedMessage.Date = DateTime.Now; this.spMessageList.Children.Add(receivedMessage); }); }
public void AddServerMessage(string resourceMessage) { object serverName = Application.Current.Resources["Message_ServerName"]; string messageContent = Application.Current.Resources[resourceMessage] as string; if (serverName == null || messageContent == null) { Debug.Warn("Cannot read reources for Server messages. Resource message: '{0}'.", resourceMessage); return; } UI.MessageItem serverMessage = null; this.Dispatcher.Invoke(() => serverMessage = new UI.MessageItem()); if (serverMessage == null) { Debug.Error("Cannot create MessageItem object from dispatcher."); return; } serverMessage.Content = messageContent; serverMessage.Username = serverName; serverMessage.Date = DateTime.Now; this.spMessageList.Dispatcher.Invoke(() => this.spMessageList.Children.Add(serverMessage)); }
private void btnSend_Click(object sender, RoutedEventArgs e) { string messageContent = this.tbMessage.Text; if (messageContent == string.Empty) { Debug.Warn("Cannot send empty messages."); return; } this.tbMessage.Clear(); if (this.onMessageAccept?.Invoke(messageContent) == true) { UI.MessageItem sendMessage = new UI.MessageItem(); sendMessage.Date = DateTime.Now; sendMessage.Content = messageContent; sendMessage.Username = string.Format("{0} {1}", this.m_localClient.Name, this.m_localClient.Surname); this.spMessageList.Children.Add(sendMessage); } else { this.AddServerMessage("Message_SendFailed"); } }