예제 #1
0
    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);
      });
    }
예제 #2
0
    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));
    }
예제 #3
0
    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");
      }
    }