protected override void ProcessMessage(Common.Notification.EnumNotificationMessage<object, ViewModel.HallWindowAction> message) { HallWindowViewModel hallWindowVM = DataContext as HallWindowViewModel; switch (message.Action) { case HallWindowAction.ApplicationShutdown: if (webWindow != null) { CloseWebWindow(webWindow); webWindow = null; } if (roomWindow != null) { roomWindow.Close(); } Close(); break; case HallWindowAction.CloseRoomWindow: if (roomWindow != null) { roomWindow.Close(); } break; case HallWindowAction.AlreadyInRoom: if (MessageBox.Show(Messages.AlreadyInRoom, Text.Warning, MessageBoxButton.YesNo) == MessageBoxResult.Yes) { if (roomWindow != null) { roomWindow.Close(); hallVM.Me.RoomWindowVM = null; } int roomId = (int)message.Content; if (roomId != null) { hallVM.EnterRoom(roomId); } } break; case HallWindowAction.EnterRoomSucceeded: RoomWindowViewModel roomWindowVM = message.Content as RoomWindowViewModel; roomWindow = new RoomWindow(roomWindowVM, this) as RoomWindow; roomWindow.Closed += roomWindow_Closed; //roomWindow.StateChanged += roomWindow_StateChanged; roomWindow.Show(); //Hide(); //ShowWebWindow(webWindow, false); break; case HallWindowAction.EnterRoomFailed: MessageBox.Show(Messages.EnterRoomFailed); break; //case HallWindowAction.Register: // RegisterWindowViewModel vm = message.Content as RegisterWindowViewModel; // if (vm != null) // { // registerWindow = new RegisterWindow(vm) { Owner = this }; // ShowWebWindow(webWindow, false); // registerWindow.ShowDialog(); // ShowWebWindow(webWindow, true); // } // break; //case HallWindowAction.RegisterUserIdNotAvailable: // ShowWebWindow(webWindow, false); // MessageBox.Show(Messages.NoRegisterUserIdAvailable); // ShowWebWindow(webWindow, true); // break; //case HallWindowAction.RegisterSuccess: // if (registerWindow != null) // { // registerWindow.Close(); // } // User user = message.Content as User; // if (user != null) // { // webWindow.CallJavaScript("SetLoginUser", user.Id, user.Password); // } // ShowWebWindow(webWindow, true); // break; //case HallWindowAction.RegisterCancel: // if (registerWindow != null) // { // registerWindow.Close(); // } // ShowWebWindow(webWindow, true); // break; case HallWindowAction.OpenConfigurationWindow: hallWindowVM.ApplicationVM.ConfigurationWindowVM = new ConfigurationWindowViewModel(); ConfigurationWindow configurationWindow = new ConfigurationWindow(hallWindowVM.ApplicationVM.ConfigurationWindowVM); configurationWindow.Owner = this; configurationWindow.ShowDialog(); break; case HallWindowAction.SwitchUser: if (MessageBox.Show(Text.SwitchUserConfirm, Text.Prompt, MessageBoxButton.YesNo) == MessageBoxResult.Yes) { hallWindowVM.ApplicationVM.SwitchUser(); LoginWindow loginWindow = new LoginWindow(); loginWindow.Show(); this.Close(); } break; case HallWindowAction.OpenAgentPortal: AgentPortalWindowViewModel avm = new AgentPortalWindowViewModel(); avm.Initialize(); AgentLoginWindow agentLoginWindow = new AgentLoginWindow(avm); agentLoginWindow.ShowInTaskbar = true; if (agentLoginWindow.ShowDialog() == true) { AgentPortalWindow agentPortalWindow = new AgentPortalWindow(avm); agentPortalWindow.ShowInTaskbar = true; agentPortalWindow.ShowDialog(); } break; default: break; } }
protected override void ProcessMessage(Common.Notification.EnumNotificationMessage <object, RoomWindowAction> message) { RoomWindowViewModel roomVM = DataContext as RoomWindowViewModel; switch (message.Action) { case RoomWindowAction.ShowConfigWindow: ConfigurationItemViewModel configItem = message.Content as ConfigurationItemViewModel; roomVM.ApplicationVM.ConfigurationWindowVM = new ConfigurationWindowViewModel(configItem); ShowWebWindow(webWindow, false); ConfigurationWindow configurationWindow = new ConfigurationWindow(roomVM.ApplicationVM.ConfigurationWindowVM); configurationWindow.Owner = this; configurationWindow.ShowDialog(); ShowWebWindow(webWindow, true); break; case RoomWindowAction.PlayMusic: bool canPlay = (bool)message.Content; if (canPlay) { if (playMusicWindow == null) { InitMusicWindow(); } ShowWebWindow(webWindow, false); playMusicWindow.WindowState = System.Windows.WindowState.Normal; playMusicWindow.Show(); playMusicWindow.Topmost = true; } else { ShowWebWindow(webWindow, false); if (System.Windows.MessageBox.Show("其它人正在播放音乐,请稍后再试", "提示", MessageBoxButton.OK) == MessageBoxResult.OK) { ShowWebWindow(webWindow, true); } } break; case RoomWindowAction.ManageMusic: ShowWebWindow(webWindow, false); ManageMusicWindowViewModel manageMusicVM = new ManageMusicWindowViewModel(); ManageMusicWindow manageWnd = new ManageMusicWindow(manageMusicVM); manageWnd.Owner = this; manageWnd.Topmost = true; ShowWebWindow(webWindow, false); manageWnd.ShowDialog(); ShowWebWindow(webWindow, true); break; case RoomWindowAction.RecordAudio: SaveFileDialog dialog = new SaveFileDialog(); dialog.Filter = "音频文件 (*.wav)|*.wav"; if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { RoomWindowViewModel vm = DataContext as RoomWindowViewModel; vm.StartAudioRecording(dialog.FileName); } break; default: break; } }
protected override void ProcessMessage(Common.Notification.EnumNotificationMessage <object, ViewModel.HallWindowAction> message) { HallWindowViewModel hallWindowVM = DataContext as HallWindowViewModel; switch (message.Action) { case HallWindowAction.ApplicationShutdown: if (webWindow != null) { CloseWebWindow(webWindow); webWindow = null; } if (roomWindow != null) { roomWindow.Close(); } if (registerWindow != null) { registerWindow.Close(); } Close(); break; case HallWindowAction.CloseRoomWindow: if (roomWindow != null) { roomWindow.Close(); } break; case HallWindowAction.AlreadyInRoom: ShowWebWindow(webWindow, false); if (MessageBox.Show(Messages.AlreadyInRoom, Text.Warning, MessageBoxButton.YesNo) == MessageBoxResult.Yes) { if (roomWindow != null) { roomWindow.Close(); hallVM.Me.RoomWindowVM = null; } int roomId = (int)message.Content; if (roomId != null) { hallVM.EnterRoom(roomId); } } ShowWebWindow(webWindow, true); break; case HallWindowAction.EnterRoomSucceeded: RoomWindowViewModel roomWindowVM = message.Content as RoomWindowViewModel; roomWindow = new RoomWindow(roomWindowVM, this) as RoomWindow; roomWindow.Closed += roomWindow_Closed; roomWindow.StateChanged += roomWindow_StateChanged; roomWindow.Show(); //Hide(); //ShowWebWindow(webWindow, false); break; case HallWindowAction.EnterRoomFailed: MessageBox.Show(Messages.EnterRoomFailed); break; case HallWindowAction.Register: RegisterWindowViewModel vm = message.Content as RegisterWindowViewModel; if (vm != null) { registerWindow = new RegisterWindow(vm) { Owner = this }; ShowWebWindow(webWindow, false); registerWindow.ShowDialog(); ShowWebWindow(webWindow, true); } break; case HallWindowAction.RegisterUserIdNotAvailable: ShowWebWindow(webWindow, false); MessageBox.Show(Messages.NoRegisterUserIdAvailable); ShowWebWindow(webWindow, true); break; case HallWindowAction.RegisterSuccess: if (registerWindow != null) { registerWindow.Close(); } User user = message.Content as User; if (user != null) { webWindow.CallJavaScript("SetLoginUser", user.Id, user.Password); } ShowWebWindow(webWindow, true); break; case HallWindowAction.RegisterCancel: if (registerWindow != null) { registerWindow.Close(); } ShowWebWindow(webWindow, true); break; case HallWindowAction.OpenConfigurationWindow: hallWindowVM.ApplicationVM.ConfigurationWindowVM = new ConfigurationWindowViewModel(); ShowWebWindow(webWindow, false); ConfigurationWindow configurationWindow = new ConfigurationWindow(hallWindowVM.ApplicationVM.ConfigurationWindowVM); configurationWindow.Owner = this; configurationWindow.ShowDialog(); ShowWebWindow(webWindow, true); break; case HallWindowAction.SwitchUser: ShowWebWindow(webWindow, false); if (MessageBox.Show(Text.SwitchUserConfirm, Text.Prompt, MessageBoxButton.YesNo) == MessageBoxResult.Yes) { hallWindowVM.ApplicationVM.SwitchUser(); webWindow.CallJavaScript("SwitchUser"); } ShowWebWindow(webWindow, true); break; default: break; } }
//void wnd_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) //{ // //System.Windows.MessageBox.Show(e.ClickCount.ToString()); // Dispatcher.Invoke((Action)(() => // { // Topmost = true; // })); // this.RaiseWindowHeaderMouseLeftButtonDownEvent(this, null); //} protected override void ProcessMessage(Common.Notification.EnumNotificationMessage<object, RoomWindowAction> message) { RoomWindowViewModel roomVM = DataContext as RoomWindowViewModel; switch (message.Action) { case RoomWindowAction.ShowConfigWindow: ConfigurationItemViewModel configItem = message.Content as ConfigurationItemViewModel; roomVM.ApplicationVM.ConfigurationWindowVM = new ConfigurationWindowViewModel(configItem); //ShowWebWindow(webWindow,false); ConfigurationWindow configurationWindow = new ConfigurationWindow(roomVM.ApplicationVM.ConfigurationWindowVM); //configurationWindow.Owner = this; configurationWindow.ShowInTaskbar = true; configurationWindow.ShowDialog(); //ShowWebWindow(webWindow,true); break; case RoomWindowAction.PlayMusic: //bool canPlay = (bool)message.Content; //if (canPlay) //{ // if (playMusicWindow == null) // InitMusicWindow(); // //ShowWebWindow(webWindow, false); // playMusicWindow.WindowState = System.Windows.WindowState.Normal; // playMusicWindow.Show(); // playMusicWindow.Topmost = true; //} //else //{ // //ShowWebWindow(webWindow, false); // System.Windows.MessageBox.Show("其它人正在播放音乐,请稍后再试", "提示", MessageBoxButton.OK); // //ShowWebWindow(webWindow, true); //} break; case RoomWindowAction.ManageMusic: //ShowWebWindow(webWindow, false); ManageMusicWindowViewModel manageMusicVM = new ManageMusicWindowViewModel(); ManageMusicWindow manageWnd = new ManageMusicWindow(manageMusicVM); //manageWnd.Owner = this; manageWnd.Topmost = true; //ShowWebWindow(webWindow, false); manageWnd.ShowInTaskbar = true; manageWnd.ShowDialog(); //ShowWebWindow(webWindow, true); break; case RoomWindowAction.RecordAudio: SaveFileDialog dialog = new SaveFileDialog(); dialog.Filter = "音频文件 (*.wav)|*.wav"; if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { RoomWindowViewModel vm = DataContext as RoomWindowViewModel; vm.StartAudioRecording(dialog.FileName); } break; default: break; } }