カスタム コントロール、GameView を持つ Win8 アプリがあります。このアプリは、ページ上で (gvMap、gvOurBase、および gvEnemyBase として) 3 回インスタンス化し、グリッドに配置しました。コントロールの実際のサイズを取得して、RenderTransform を設定し、適切なスケーリングですべてをレンダリングできるようにする必要があります。
ただし、コントロールのActualWidth
またはを取得しようとすると、常にゼロになります。ActualHeight
これは、ページが読み込まれるまで待って、コントロールで Measure と Arrange を呼び出しても発生します。
コントロールのサイズを取得するにはどうすればよいですか? それとも、彼らがグリッドにいる間、これを行うことは許可されていませんか? コントロールのサイズに依存しない RenderTransform を実行する別の方法はありますか? 各コントロールがゲーム マップ全体の特定のセクションを表示するようにします。gvMap はマップ全体を表示し、gvOurBase はプレイヤーが都市を持つマップのセクションを表示し、gvEnemyBase は敵が都市を持つマップのセクションを表示します。