質問編集履歴

2

InitializeComponent() の追加箇所間違ってたので修正。

2019/03/19 06:37

投稿

draq
draq

スコア2573

test CHANGED
File without changes
test CHANGED
@@ -106,6 +106,8 @@
106
106
 
107
107
  var app = new App();
108
108
 
109
+ app.InitializeComponent();
110
+
109
111
  #if false
110
112
 
111
113
  //こちらを有効にすると、ページ遷移後のウインドウサイズで画面中央に表示される

1

window.InitializeComponent() の呼び出しを追加(結果は変わらないが、呼び出しは必要なのでコードを修正しました。)と実現したいことをもっと詳細に記載しました。

2019/03/19 06:37

投稿

draq
draq

スコア2573

test CHANGED
File without changes
test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  ### 実現したいこと
26
26
 
27
- ウインドウを画面中央に表示したい。
27
+ 自分でインスタンス生成したウインドウを画面中央に表示したい。
28
28
 
29
29
 
30
30
 
@@ -36,6 +36,34 @@
36
36
 
37
37
 
38
38
 
39
+ もう少し詳しく書くと、
40
+
41
+ App.StartupUri を指定した場合は、
42
+
43
+ 1. NavigationWindow をロード
44
+
45
+ 1. Source で指定された Page をロード(この時、NavigationWindow がリサイズ)
46
+
47
+ 1. NavigationWindow を画面中央に表示
48
+
49
+
50
+
51
+ される。
52
+
53
+ 自分で NavigationWindow のインスタンスを生成した場合、
54
+
55
+ 1. NavigationWindow をロード
56
+
57
+ 1. NavigationWindow を画面中央に表示
58
+
59
+ 1. Source で指定された Page をロード(この時、NavigationWindow がリサイズ)
60
+
61
+
62
+
63
+ の順番で処理されている様に見えます。
64
+
65
+ 自分で NavigationWindow のインスタンスを生成した場合でも、App.StartupUri を指定した場合と同じように動いて欲しいです。
66
+
39
67
 
40
68
 
41
69
  ### 該当のソースコード
@@ -90,6 +118,8 @@
90
118
 
91
119
  var window = new MainWindow();
92
120
 
121
+ window.InitializeComponent(); //指摘があったので修正
122
+
93
123
  window.Show();
94
124
 
95
125
  #endif
@@ -106,7 +136,9 @@
106
136
 
107
137
  ```
108
138
 
139
+
140
+
109
- - MainWindow.xaml
141
+ - MainWindow.xaml(コードビハインドは何も変更していないため省略します。)
110
142
 
111
143
  ```XAML
112
144
 
@@ -142,6 +174,46 @@
142
174
 
143
175
 
144
176
 
177
+ - DummyPage.xaml(テスト用のダミーのため、Buttonコントロールに意味はありません。)
178
+
179
+ ```XAML
180
+
181
+ <Page
182
+
183
+ x:Class="Test.Views.DummyPage"
184
+
185
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
186
+
187
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
188
+
189
+ xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
190
+
191
+ xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
192
+
193
+ xmlns:v="clr-namespace:Test.Views"
194
+
195
+ Title="MainPage"
196
+
197
+ Height="350"
198
+
199
+ Width="525">
200
+
201
+ <Grid>
202
+
203
+ <Button Content="Button" Height="140" Width="325"/>
204
+
205
+ </Grid>
206
+
207
+ </Page>
208
+
209
+ ```
210
+
211
+ - DummyPage.xaml.cs
212
+
213
+ コードビハインドは何も変更していないため省略します。
214
+
215
+
216
+
145
217
  ### 試したこと
146
218
 
147
219
  - App.Run の引数に NavigationWindow のインスタンスを指定する。