Ejemplo n.º 1
0
        /// <summary>コンストラクタ。</summary>
        /// <param name="data">アプリのデータオブジェクト(Unity からインジェクション)</param>
        public NavigationTreeViewModel(WpfTestAppData data)
        {
            this.appData = data;

            this.rootNode = TreeViewItemCreator.Create(this.appData);
            var col = new System.Collections.ObjectModel.ObservableCollection <TreeViewItemViewModel>();

            col.Add(this.rootNode);
            this.TreeNodes = col.ToReadOnlyReactiveCollection()
                             .AddTo(this.disposables);
        }
        /// <summary>コンストラクタ。</summary>
        /// <param name="data">アプリのデータオブジェクト(Unity からインジェクション)</param>
        /// <param name="rm">IRegionManager(Unity からインジェクション)</param>
        public NavigationTreeViewModel(WpfTestAppData data, Prism.Regions.IRegionManager rm)
        {
            this.appData       = data;
            this.regionManager = rm;

            this.rootNode = TreeViewItemCreator.Create(this.appData);
            var col = new System.Collections.ObjectModel.ObservableCollection <TreeViewItemViewModel>();

            col.Add(this.rootNode);
            this.TreeNodes = col.ToReadOnlyReactiveCollection()
                             .AddTo(this.disposables);

            this.SelectedItemChanged = new ReactiveCommand <System.Windows.RoutedPropertyChangedEventArgs <object> >()
                                       .AddTo(this.disposables);
            this.SelectedItemChanged.Subscribe(e => this.nodeChanged(e));
        }