回答編集履歴

2

リンク切れ修正

2024/04/13 00:27

投稿

TN8001
TN8001

スコア9862

test CHANGED
@@ -47,4 +47,4 @@
47
47
  [構造化ナビゲーションの概要 - WPF | Microsoft Docs](https://docs.microsoft.com/ja-jp/dotnet/framework/wpf/app-development/structured-navigation-overview)
48
48
  [PageFunction<T> クラス (System.Windows.Navigation) | Microsoft Docs](https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.navigation.pagefunction-1)
49
49
 
50
- MVVMに強いこだわりがあるなら、[Prism Library](https://prismlibrary.com/index.html)などに移行したほうが幸せかもしれません(`NavigationWindow`や`Frame `はWPFではあまり使われていない印象です)
50
+ MVVMに強いこだわりがあるなら、[Prism Library](https://prismlibrary.com/)などに移行したほうが幸せかもしれません(`NavigationWindow`や`Frame`はWPFではあまり使われていない印象です)

1

見直しキャンペーン中

2023/07/22 08:10

投稿

TN8001
TN8001

スコア9862

test CHANGED
@@ -1,95 +1,50 @@
1
1
  [ナビゲーションの概要 - WPF | Microsoft Docs](https://docs.microsoft.com/ja-jp/dotnet/framework/wpf/app-development/navigation-overview)
2
-
3
2
  でも注意がありますが、WPFだと`NavigationService`を複数持つことが可能なため、`Page2View`のコンストラクタでは`NavigationService`を取得できないのだと思います(まだ決定できない)
4
-
5
-
6
3
 
7
4
  `Application.Navigated`か、`NavigationWindow`の`NavigationService`を取得するかでしょうか?
8
5
 
9
-
10
-
11
- ```C#
6
+ ```cs
12
-
13
7
  using System.Diagnostics;
14
-
15
8
  using System.Windows;
16
-
17
9
  using System.Windows.Controls;
18
-
19
10
  using System.Windows.Navigation;
20
11
 
21
-
22
-
23
12
  namespace NavigationTest
24
-
25
13
  {
26
-
27
14
  public partial class Page2View : Page
28
-
29
15
  {
30
-
31
16
  public Page2View()
32
-
33
17
  {
34
-
35
18
  InitializeComponent();
36
-
37
-
38
19
 
39
20
  Application.Current.Navigated += Application_Navigated;
40
21
 
41
-
42
-
43
22
  var w = Application.Current.MainWindow as NavigationWindow;
44
-
45
23
  w.NavigationService.LoadCompleted += NavigationService_LoadCompleted;
46
-
47
24
  }
48
25
 
49
-
50
-
51
26
  private void Application_Navigated(object sender, NavigationEventArgs e)
52
-
53
27
  {
54
-
55
28
  Debug.WriteLine("Application_Navigated");
56
-
57
29
  Debug.WriteLine(e.ExtraData);
58
-
59
30
  Application.Current.Navigated -= Application_Navigated;
60
-
61
31
  }
62
32
 
63
-
64
-
65
33
  private void NavigationService_LoadCompleted(object sender, NavigationEventArgs e)
66
-
67
34
  {
68
-
69
35
  Debug.WriteLine("NavigationService_LoadCompleted");
70
-
71
36
  Debug.WriteLine(e.ExtraData);
72
-
73
37
  var w = Application.Current.MainWindow as NavigationWindow;
74
-
75
38
  w.NavigationService.LoadCompleted -= NavigationService_LoadCompleted;
76
-
77
39
  }
78
-
79
40
  }
80
-
81
41
  }
82
-
83
42
  ```
84
43
 
85
-
44
+ ---
86
45
 
87
46
  調べていて初めて知ったのですが、こういったものもあるようです(なにもわかっていません^^;
88
-
89
47
  [構造化ナビゲーションの概要 - WPF | Microsoft Docs](https://docs.microsoft.com/ja-jp/dotnet/framework/wpf/app-development/structured-navigation-overview)
90
-
91
48
  [PageFunction<T> クラス (System.Windows.Navigation) | Microsoft Docs](https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.navigation.pagefunction-1)
92
49
 
93
-
94
-
95
50
  MVVMに強いこだわりがあるなら、[Prism Library](https://prismlibrary.com/index.html)などに移行したほうが幸せかもしれません(`NavigationWindow`や`Frame `はWPFではあまり使われていない印象です)