private void SetupHub() { myHub.On <List <string> >("broadcastUsers", (users) => { Dispatcher.Invoke(() => { UserList.Items.Clear(); foreach (var user in users) { UserList.Items.Add(user); } }); }); myHub.On <string, string>("newMessageReceived", (user, message) => { string date = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + ":" + DateTime.Now.Second; string result = date + " " + user + ": " + message + Environment.NewLine; Dispatcher.BeginInvoke((Action)(() => { Chat.AppendText(result); })); }); myHub.On <string>("newRoomCreated", (creator) => { string date = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + ":" + DateTime.Now.Second; string result = date + " " + creator + " started conversation" + Environment.NewLine + Environment.NewLine; Dispatcher.BeginInvoke((Action)(() => { Chat.Document.Blocks.Clear(); Chat.AppendText(result); })); }); myHub.On("roomClosed", () => { string date = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString() + ":" + DateTime.Now.Second; string result = date + " Interlocutor left the room" + Environment.NewLine + Environment.NewLine; Dispatcher.BeginInvoke((Action)(() => { Chat.AppendText(result); })); }); }