不知道如何更好地表达这个问题,但基本上我有一个用户控件,我动态添加到另一个用户控件中。子用户控件有一组图像,基本上我需要知道它们是否已完全加载到父用户控件中,因为我需要方法的尺寸(不仅仅是高度和宽度)。
当子用户控件中的所有图像都加载到父控件中时,是否有一种类型的事件可以触发?
为了进一步解释我的场景,我需要这个,因为我使用 farseer 物理引擎进行 silverlight 并且它获取图像的形状以用于碰撞检测,并且当我尝试将图像转换为物理对象时,它不会找到形状,因为图像仍在屏幕上生成,因此引发异常。
更新:这是我到目前为止想出的
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);
}
}
whereImageLoaded
是一个布尔值列表,该方法addPuppetPhysics
将 farseer 物理应用到 usercontrol pg.currPuppet
。事情是物理引擎找到了图像的前半部分,然后就找不到了(在同一个图像上崩溃)。如果我只是加载用户控件,然后通过单击按钮应用物理,它会完美运行。