teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

App.xaml.csの追記

2019/07/18 07:52

投稿

mori_moto
mori_moto

スコア10

title CHANGED
File without changes
body CHANGED
@@ -72,4 +72,92 @@
72
72
  }
73
73
 
74
74
  }
75
+ ```
76
+
77
+ App.xaml.cs
78
+
79
+ ```cs
80
+ namespace dlltest
81
+ {
82
+ /// <summary>
83
+ /// 既定の Application クラスを補完するアプリケーション固有の動作を提供します。
84
+ /// </summary>
85
+ sealed partial class App : Application
86
+ {
87
+ /// <summary>
88
+ ///単一アプリケーション オブジェクトを初期化します。これは、実行される作成したコードの
89
+ ///最初の行であるため、論理的には main() または WinMain() と等価です。
90
+ /// </summary>
91
+ public App()
92
+ {
93
+ this.InitializeComponent();
94
+ this.Suspending += OnSuspending;
95
+ }
96
+
97
+ /// <summary>
98
+ /// アプリケーションがエンド ユーザーによって正常に起動されたときに呼び出されます。他のエントリ ポイントは、
99
+ /// アプリケーションが特定のファイルを開くために起動されたときなどに使用されます。
100
+ /// </summary>
101
+ /// <param name="e">起動の要求とプロセスの詳細を表示します。</param>
102
+ protected override void OnLaunched(LaunchActivatedEventArgs e)
103
+ {
104
+ Frame rootFrame = Window.Current.Content as Frame;
105
+
106
+ // ウィンドウに既にコンテンツが表示されている場合は、アプリケーションの初期化を繰り返さずに、
107
+ // ウィンドウがアクティブであることだけを確認してください
108
+ if (rootFrame == null)
109
+ {
110
+ // ナビゲーション コンテキストとして動作するフレームを作成し、最初のページに移動します
111
+ rootFrame = new Frame();
112
+
113
+ rootFrame.NavigationFailed += OnNavigationFailed;
114
+
115
+ if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
116
+ {
117
+ //TODO: 以前中断したアプリケーションから状態を読み込みます
118
+ }
119
+
120
+ // フレームを現在のウィンドウに配置します
121
+ Window.Current.Content = rootFrame;
122
+ }
123
+
124
+ if (e.PrelaunchActivated == false)
125
+ {
126
+ if (rootFrame.Content == null)
127
+ {
128
+ // ナビゲーションの履歴スタックが復元されていない場合、最初のページに移動します。
129
+ // このとき、必要な情報をナビゲーション パラメーターとして渡して、新しいページを
130
+ // 作成します
131
+ rootFrame.Navigate(typeof(MainPage), e.Arguments);
132
+ }
133
+ // 現在のウィンドウがアクティブであることを確認します
134
+ Window.Current.Activate();
135
+ }
136
+ }
137
+
138
+ /// <summary>
139
+ /// 特定のページへの移動が失敗したときに呼び出されます
140
+ /// </summary>
141
+ /// <param name="sender">移動に失敗したフレーム</param>
142
+ /// <param name="e">ナビゲーション エラーの詳細</param>
143
+ void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
144
+ {
145
+ throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
146
+ }
147
+
148
+ /// <summary>
149
+ /// アプリケーションの実行が中断されたときに呼び出されます。
150
+ /// アプリケーションが終了されるか、メモリの内容がそのままで再開されるかに
151
+ /// かかわらず、アプリケーションの状態が保存されます。
152
+ /// </summary>
153
+ /// <param name="sender">中断要求の送信元。</param>
154
+ /// <param name="e">中断要求の詳細。</param>
155
+ private void OnSuspending(object sender, SuspendingEventArgs e)
156
+ {
157
+ var deferral = e.SuspendingOperation.GetDeferral();
158
+ //TODO: アプリケーションの状態を保存してバックグラウンドの動作があれば停止します
159
+ deferral.Complete();
160
+ }
161
+ }
162
+ }
75
163
  ```

1

コードの追記

2019/07/18 07:52

投稿

mori_moto
mori_moto

スコア10

title CHANGED
File without changes
body CHANGED
@@ -50,4 +50,26 @@
50
50
  ```
51
51
 
52
52
  C#やUWPを触り始めたばかりで初歩的な質問かもしれませんが、教えていただけたらありがたいです。
53
- よろしくお願いします。
53
+ よろしくお願いします。
54
+
55
+ # 追記
56
+ 表示用アプリのコード
57
+ 現状、方法がわからず手を付けれていません。
58
+
59
+ ```cs
60
+ namespace dlltest
61
+ {
62
+ /// <summary>
63
+ /// それ自体で使用できる空白ページまたはフレーム内に移動できる空白ページ。
64
+ /// </summary>
65
+ public sealed partial class MainPage : Page
66
+ {
67
+ public MainPage()
68
+ {
69
+ this.InitializeComponent();
70
+
71
+ }
72
+ }
73
+
74
+ }
75
+ ```