C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: InitializeComponentとは


(過去ログ 172 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■99168 / inTopicNo.1)  InitializeComponentとは
  
□投稿者/ バラード (1回)-(2022/02/14(Mon) 16:28:20)

分類:[.NET 全般] 

WPFのInitializeComponentについてお教え頂けますでしょうか?

1.
WPFのInitializeComponentとはなんでしょうか?コンストラクタというのはわかるのですが、具体的に何を処理しているのでしょうか?

2.
Window_Loadedイベントに処理を書いて、この処理が正しく動くかブレークポイントを設定して動かしてみましたが、動きませんでした。InitializeComponent以下に記述したところブレークポイントが動作しましたが、Window_LoadedイベントとInitializeComponentは何が違うのでしょうか?
引用返信 編集キー/
■99169 / inTopicNo.2)  Re[1]: InitializeComponentとは
□投稿者/ WebSurfer (2443回)-(2022/02/14(Mon) 17:07:00)
No99168 (バラード さん) に返信

コンストラクタではありません。自動生成されたメソッドだそうです。

wpf InitializeComponent などをキーワードにググるといろいろ参考になる記事が
ヒットすると思いますが? 例えば下記:

第2回 WPFとXAMLの関係とは? XAMLの基礎を学ぶ
https://atmarkit.itmedia.co.jp/ait/articles/1006/22/news101.html
引用返信 編集キー/
■99170 / inTopicNo.3)  Re[1]: InitializeComponentとは
□投稿者/ Hongliang (1214回)-(2022/02/14(Mon) 17:11:56)
> WPFのInitializeComponentとはなんでしょうか?コンストラクタというのはわかるのですが、具体的に何を処理しているのでしょうか?

objフォルダに、msbuildが自動生成した***.g.csとかいう名前のファイルが出力されていて、その中にInitializeComponentメソッドが定義されています。
xamlをバイナリ化したbamlがリソースに格納されているのですが、これのリソースをロードするのが基本的な処理です。

> Window_Loadedイベントに処理を書いて、この処理が正しく動くかブレークポイントを設定して動かしてみましたが、動きませんでした。InitializeComponent以下に記述したところブレークポイントが動作しましたが、Window_LoadedイベントとInitializeComponentは何が違うのでしょうか?

Loadedイベントが動かないということはないので、なにか記述に誤りがあるのではないでしょうか。
InitializeComponentの次行以降は、とりあえずWindow(など)のXAMLがロードされ、直接定義されている要素やResourceDictionary内のリソースが使用できるタイミングですね。
その時点ではDataTemplateやバインディングの解決などは行われていないはずです。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -