Silverlight Usercontrol Onload Событие, генерируемое в другом Usercontrol, для применения физики дальновидных - PullRequest
0 голосов
/ 30 апреля 2009

Не знал, как лучше сформулировать вопрос, но в основном у меня есть пользовательский контроль, который я динамически добавляю в другой пользовательский контроль. У дочернего usercontrol есть набор изображений, и в основном мне нужно знать, полностью ли они загружены внутри родительского usercontrol, поскольку мне нужны их размеры для метода (а не только высота и ширина).

Существует ли тип события, которое может сработать, когда все изображения в дочернем элементе управления пользователя загружены в родительский элемент?

Для дальнейшего объяснения моего сценария мне это нужно, поскольку я использую физический движок дальнего видения для серебряного света, и он приобретает форму изображения, используемую для обнаружения столкновений, и поскольку при попытке превратить изображения в физический объект это не найти форму, так как изображение все еще генерируется на экране и, следовательно, выдает исключение.

Обновление: это то, что я придумал до сих пор

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 - список логических значений, метод addPuppetPhysics применяет физику дальновидности к пользовательскому контролю pg.currPuppet. Дело в том, что физический движок находит первую половину изображений, а затем больше не находит (вылетает на том же изображении). Если я просто загружаю пользовательский контроль, а затем применяю физику нажатием кнопки, она работает отлично.

1 Ответ

0 голосов
/ 30 апреля 2009

Можете ли вы определить, когда изображения закончили загрузку в дочернем контроле? Если это так, вы можете создать собственное событие - например: ImagesLoaded - и обработать его в родительском.

...