BeatMachine.ViewModel.PlayViewModel.PlayViewModel C# (CSharp) Метод

PlayViewModel() публичный Метод

public PlayViewModel ( IMessenger messenger ) : System
messenger IMessenger
Результат System
        public PlayViewModel(IMessenger messenger)
            : base(messenger)
        {
            ////if (IsInDesignMode)
            ////{
            ////    // Code runs in Blend --> create design time data.
            ////}
            ////else
            ////{
            ////    // Code runs "for real"
            ////}

            MessengerInstance.Register<SongGroupMessage>(
                this,
                m =>
                {
                    songs = m.Songs;
                    DispatcherHelper.CheckBeginInvokeOnUI(() =>
                    {
                        SongsAnalyzed = true;
                    });
                    LoadSongs(false);
                });

            MessengerInstance.Register<SongGroupMessage>(
                this,
                m =>
                {

                });

            MessengerInstance.Register<MediaPlayerStopMessage>(
                this,
                m =>
                {
                    if (Player != null)
                    {
                        Player.Stop();
                    }
                });

            PlayCommand = new RelayCommand(
                () => {
                    if (Player.State == MediaState.Paused)
                    {
                        ThreadPool.QueueUserWorkItem(new WaitCallback(o =>
                        {
                            Player.Resume();
                        }));
                    }
                    else if (Player.State == MediaState.Stopped)
                    {
                        bool canPlay = true;

                        if (!MediaPlayer.GameHasControl)
                        {
                            canPlay = GetControl();
                        }

                        if (canPlay)
                        {
                            ThreadPool.QueueUserWorkItem(new WaitCallback(o =>
                            {
                                Player.Play();
                            }));
                        }
                    }
                    else
                    {
                        ThreadPool.QueueUserWorkItem(new WaitCallback(o =>
                        {
                            Player.Pause();
                        }));
                    }
                });

            PrevCommand = new RelayCommand(() =>
            {
                ThreadPool.QueueUserWorkItem(new WaitCallback(o =>
                {
                    Player.MovePrev();
                }));
            });

            NextCommand = new RelayCommand(() =>
            {
                ThreadPool.QueueUserWorkItem(new WaitCallback(o =>
                {
                    Player.MoveNext();
                }));
            });

            SafeIsolatedStorageSettings settings = new SafeIsolatedStorageSettings();

            BPMChangedCommand = new RelayCommand<ManipulationCompletedEventArgs>((e) =>
            {
                settings[BPMPropertyName] = BPM;
                settings.Save();
                if (Player != null && Player.State == MediaState.Playing)
                {
                    Player.Stop();
                    LoadSongs(true);
                } else {
                    LoadSongs(false);
                }
            });

            int bpm;
            if (settings.TryGetValue<int>(BPMPropertyName, out bpm))
            {
                BPM = bpm;
            } else {
                BPM = 120;
            }
        }