0

不知道如何更好地表达这个问题,但基本上我有一个用户控件,我动态添加到另一个用户控件中。子用户控件有一组图像,基本上我需要知道它们是否已完全加载到父用户控件中,因为我需要方法的尺寸(不仅仅是高度和宽度)。

当子用户控件中的所有图像都加载到父控件中时,是否有一种类型的事件可以触发?

为了进一步解释我的场景,我需要这个,因为我使用 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。事情是物理引擎找到了图像的前半部分,然后就找不到了(在同一个图像上崩溃)。如果我只是加载用户控件,然后通过单击按钮应用物理,它会完美运行。

4

1 回答 1

0

你能检测到图像何时在子控件中完成加载吗?如果是这样,您也许可以创建自己的事件——例如:ImagesLoaded——并在父级中处理它。

于 2009-04-29T23:11:32.110 回答