0

質問をより適切に表現する方法がわかりませんでしたが、基本的には、別のユーザーコントロールに動的に追加するユーザーコントロールがあります。子ユーザーコントロールには一連の画像があり、基本的には、メソッドの寸法 (高さと幅だけでなく) が必要なため、親ユーザーコントロール内に完全にロードされているかどうかを知る必要があります。

子ユーザーコントロールのすべての画像が親に読み込まれたときにトリガーできるイベントの種類はありますか?

私のシナリオをさらに説明するには、これが必要です。これは、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。問題は、物理エンジンが画像の前半を見つけて、それ以上見つけられないことです (同じ画像でクラッシュします)。ユーザーコントロールをロードするだけで、ボタンをクリックして物理を適用すると、完全に機能します。

4

1 に答える 1

0

子コントロールで画像の読み込みが終了したことを検出できますか? もしそうなら、あなたはあなた自身のイベントを作成することができるかもしれません - ex: ImagesLoaded- 親でそれを処理します。

于 2009-04-29T23:11:32.110 に答える