/// <summary>SelectedItemChangedイベントハンドラ。</summary> /// <param name="e">イベントデータを格納しているRoutedPropertyChangedEventArgs<object>。</param> private void nodeChanged(RoutedPropertyChangedEventArgs <object> e) { var viewName = string.Empty; var current = e.NewValue as TreeViewItemViewModel; switch (current.SourceData) { case PersonalInformation p: viewName = "PersonalEditor"; break; case PhysicalInformation p: viewName = "PhysicalEditor"; break; case TestPointInformation t: viewName = "TestPointEditor"; break; case string s: viewName = "CategoryPanel"; break; } var param = new Prism.Regions.NavigationParameters(); param.Add("TargetData", current.SourceData); this.regionManager.RequestNavigate("EditorArea", viewName, param); }
private void DobleClick(PresupuestoDto obj) { if (obj != null) { var nav = new Prism.Regions.NavigationParameters(); nav.Add("Presupuesto", obj); regionManager.RequestNavigate("Contenido", "PresupuestoDetalle", nav); eventAggregator.GetEvent <PubSubEvent <Visibility> >().Publish(Visibility.Collapsed); } }
/// <summary>SelectedItemChangedイベントハンドラ。</summary> /// <param name="e">イベントデータを格納しているRoutedPropertyChangedEventArgs<object>。</param> private void nodeChanged(RoutedPropertyChangedEventArgs <object> e) { if (this.skipNodeChange) { this.skipNodeChange = false; return; } var viewName = string.Empty; var current = e.NewValue as TreeViewItemViewModel; switch (current.SourceData) { case PersonalInformation p: viewName = "PersonalEditor"; break; case PhysicalInformation p: viewName = "PhysicalEditor"; break; case TestPointInformation t: viewName = "TestPointEditor"; break; case string s: viewName = "CategoryPanel"; break; } var param = new Prism.Regions.NavigationParameters(); param.Add("TargetData", current.SourceData); this.regionManager.RequestNavigate("EditorArea", viewName, r => { if ((r.Result.HasValue) && (!r.Result.Value)) { var oldNode = e.OldValue as TreeViewItemViewModel; this.skipNodeChange = true; oldNode.IsSelected.Value = true; } }, param); }