Работя върху игра Silverlight/XNA. Имайки структура като тази:
- Моят клас GamePlay е наследен от InGamePage.
- Където InGamePage е наследено от PhoneApplicationPage.
- InGamePage има метод OnLayoutUpdated за изобразяване на SL контроли (с помощта на UIElementRenderer).
Това е според SL/XNA примерен код
Всичко работи добре, докато не реших да създам текстов блок в gamepage.xaml. Искам този текстов блок да показва някои статични променливи на играта (като разстояние, изминато от героя).
Сега къде трябва да напиша този ред:
debugTextBlock.Text = GameData.data.distanceCovered;
така че текстовият блок показва текущите стойности. (Опитах се да закача LayoutUpdate, но изхвърлянето на Application_UnhandledException казва „Открит е цикъл на оформление. Оформлението не може да бъде завършено.“)
Всеки съвет/връзка е високо оценен.
OnLayoutUpdated
мога да разбера, че се опитвате да промените нещо по време на изобразяване (което може да промени позициите на куп други неща) - вече сте забелязали, че ако промените мястото, където актуализирате текста, ще работи, така че това звучи като вашето решение. - person Rowland Shaw   schedule 04.07.2012