Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        //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;
            }
        }