Пример #1
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        public MainViewModel()
        {
            //コンテンツの生成
            ContentsTree = new Contents();
            PathBar      = new PathBarViewModel(this, SelectedItem);
            //ContentViewModel = new StartControlViewModel();
            ContentViewModel = new CustomControlViewModel();

            //イベントハンドラの接続
            PropertyChanged += OnSelectedItemChanged;

            SelectedItem = ContentsTree.ContentsTree.First <Content>();
        }
Пример #2
0
        /// <summary>
        /// 選択中のアイテムが変更された時の処理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void OnSelectedItemChanged(object sender, PropertyChangedEventArgs e)
        {
            if (e.PropertyName != "SelectedItem")
            {
                return;
            }

            PathBar.OnSelectedItemChanged(sender, e);

            //ContentViewModel = null;
            //選択されたコンテンツに対応するVMを設定する
            //switch-case文ではcaseに定数値以外を設定できないため、if文で実装する
            if (SelectedItem.ContentName == "コンテンツ")
            {
                ContentViewModel = new StartControlViewModel();
            }
            else if (SelectedItem.ContentName == Strings.ContentName_CustomControl)
            {
                ContentViewModel = new CustomControlViewModel();
            }
            else if (SelectedItem.ContentName == Strings.ContentName_ProgressBar)
            {
                ContentViewModel = new ProgressBarViewModel();
            }
            else if (SelectedItem.ContentName == Strings.ContentName_KeyboardNavigation)
            {
                ContentViewModel = new KeyboardNavigationViewModel();
            }
            else if (SelectedItem.ContentName == Strings.ContentName_DragDropControl)
            {
                ContentViewModel = new DragDropControlViewModel();
            }
            else
            {
                //未実装コンテンツ用のVMを設定
                ContentViewModel = new NotImplementationViewModel();
            }
        }