private void GetSendMessage(Message data) { Dispatcher.BeginInvoke(new Action(() => { if (ActualUsers.SelectedIndex < 0) { return; } var user = _usersList[ActualUsers.SelectedIndex]; if (user.ConnectionId != data.FirstConnectionId) { return; } UpdateCipher(data.CipherType); data.MessageText = _cipher.Decryption(data.MessageText); _messages.Add(data); foreach (var message in _messages) { if (message.FirstConnectionId == _userConnection.ConnectionId) { message.FirstConnectionId = null; } } ActualMessages.ItemsSource = null; ActualMessages.ItemsSource = _messages; })); }