private void OnRestoreMessage(RestoreExistingViewMessage message) { if (message.ViewModel != DataContext) { return; } //SystemCommands.RestoreWindow( this ); var handleSource = PresentationSource.FromVisual(this) as HwndSource; System.IntPtr handle = handleSource.Handle; WinApi.ShowWindow(handle, WinApi.WindowShowStyle.Restore); WinApi.SetForegroundWindow(handle); message.Restored = true; }
private async void OpenChat(ChatViewModel chat) { try { Logger.Info($"Gonna open chat '{chat.Chat.UserInfo.Name}'"); var restoreViewMessage = RestoreExistingViewMessage.Create(chat); MessageMediator.Default.SendMessage(restoreViewMessage); if (restoreViewMessage.Restored) { return; } await _visualizer.ShowAsync(chat); } catch (Exception ex) { ProcessException(ex); } }