2009-04-29 7 views
0

質問の表現方法がわかりませんでしたが、基本的に別のユーザーコントロールに動的に追加するusercontrolがあります。子のusercontrolには一連の画像があり、基本的には親のusercontrol内に完全にロードされているかどうかを知る必要があります。Silverlight Usercontrol Onloadイベントが別のUserControlで生成され、farseer物理を適用する場合

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

さらに私のシナリオを説明するには、私は銀色のためにファルシース物理エンジンを使用しており、衝突検出に使用する画像の形状を取得しており、画像を物理オブジェクトに変換しようとすると、イメージがまだ画面上に生成されているため、例外がスローされるため、形状が見つかりません。

更新:これは私がこれまで

ImageLoadedはブール値のリスト、ユーザーコントロール pg.currPuppetにfarseer物理学を適用 addPuppetPhysics方法である
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); 
    } 

} 

思い付いたものです。物理エンジンはイメージの最初の半分を見つけて、それ以上見つからない(同じイメージ上でクラッシュする)ことです。私が単にusercontrolをロードして、物理的なボタンをクリックして適用するだけであれば、完璧に動作します。

答えて

0

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

+0

私はsilverlight 3 betaを使用していますが、ImageOpenedイベントはありますが、usercontrolが完全に読み込まれる前にトリガーされているようです – Drahcir

関連する問題