public RandomValueSelectorCommand()
        {
            this._selector = new RandomValueSelector();
            this._viewModel = new RandomValueSelectorViewModel(this._selector);

            this._viewModel.ValueSelected += new EventHandler(_viewModel_ValueSelected);
        }
        void RandomValueSelectorView_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            var oldViewModel = e.OldValue as RandomValueSelectorViewModel;

            if (oldViewModel != null)
                oldViewModel.PropertyChanged -= viewModel_PropertyChanged;

            var newViewModel = e.NewValue as RandomValueSelectorViewModel;
            this._viewModel = newViewModel;

            if (newViewModel == null)
                return;

            newViewModel.PropertyChanged += new System.ComponentModel.PropertyChangedEventHandler(viewModel_PropertyChanged);
            this._timer.Start();
        }