質問をより適切に表現する方法がわかりませんでしたが、基本的には、別のユーザーコントロールに動的に追加するユーザーコントロールがあります。子ユーザーコントロールには一連の画像があり、基本的には、メソッドの寸法 (高さと幅だけでなく) が必要なため、親ユーザーコントロール内に完全にロードされているかどうかを知る必要があります。
子ユーザーコントロールのすべての画像が親に読み込まれたときにトリガーできるイベントの種類はありますか?
私のシナリオをさらに説明するには、これが必要です。これは、Silverlight に farseer 物理エンジンを使用していて、衝突検出に使用する画像の形状を取得しているためです。また、画像を物理オブジェクトに変換しようとすると、画像はまだ画面上で生成されているため、例外がスローされるためです。
更新:これは私がこれまでに思いついたものです
void currImg_ImageOpened(object sender, RoutedEventArgs e)
{
var ImagesLoaded = true;
for (int i = 0; i < ImageLoaded.Count-1; i++)
{
if (!ImageLoaded[i])
{
ImagesLoaded = false;
ImageLoaded[i] = true;
break;
}
}
if (ImagesLoaded)
{
addPuppetPhysics(pg.currPuppet);
}
}
ImageLoaded
はブール値のリストで、メソッドはfarseeraddPuppetPhysics
物理学を usercontrol に適用しますpg.currPuppet
。問題は、物理エンジンが画像の前半を見つけて、それ以上見つけられないことです (同じ画像でクラッシュします)。ユーザーコントロールをロードするだけで、ボタンをクリックして物理を適用すると、完全に機能します。