コードスペランカー

ゲーム開発日誌など

WPFのお勉強 イベント編

ユーザーコントロールを配置したら、配置した先で大きさを自動調節したくなったわけだが、XAMLは静的な記述はできても動的な記述はできない。つまりコードの中で変更してやらんと行かんわけだ。
まずはじめに考えたのはコンストラクタ内でコントロールの大きさを変更することだが、コンストラクタが呼ばれた時点ではthis.Widthもthis.Heightも未定義になっているので、ここで定義することはできないということがわかった。
後のイベントではthis.Width、this.Heightの両方ともに定義が完了しているので、コンストラクタの呼出し後何らかの方法でサイズを変更しているものと考える。だとすると、サイズを変更した後に呼び出されるイベントが有効になるはずだと考える。
イベントの一覧はここで見ることができた。いろんなページを探したが、結局最後に頼りになるのはMSの公式情報ってことになるらしい。
コントロールのサイズが変更になるイベントは「SizeChanged」になる。XAMLに直接追加しても良いが、「プロパティ」の「イベント」から追加を行うと、XAMLと対応するソースにコードを追加してくれるので便利だった。