Buduję niestandardową kontrolkę w Silverlight, wywodzącą się z ContentControl i wykonuję specjalne formatowanie, aby umieścić cień za zawartością.Błąd Silverlight "Layout Cycle Detected Layout nie mógł się zakończyć" podczas używania formantu niestandardowego
Prawie udało mi się, że działa, ale ostatnio wpadł w dziwny błąd. Działa dobrze, jeśli zawiera coś poza obramowaniem lub Grid/Stackpanel/etc, które nie mają wyraźnie określonej wysokości i szerokości.
otrzymuję błąd JavaScript w IE, a tekst mówi:
... Runtime Error 4008 Cykl Układ Wykryto ... Układ nie może Complete.
Jeśli określę wysokość i szerokość na zawartej siatce/sterówce/itp., To działa dobrze.
W sieci jest mnóstwo informacji o tym błędzie, gdy użyto zbyt wielu pól tekstowych (ponad 250), ale jestem w stanie odtworzyć błąd za pomocą jednego przycisku w siatce.
Nie mam żadnych pól tekstowych na stronie. Błąd związany jest z wykrytą nieskończoną pętlą. Ustawiłem kilka punktów przerwania w kodzie i wydaje się, że zdarzenie "SizeChanged" jest wywoływane podczas renderowania, a za każdym razem wysokość/szerokość zwiększa się o 10.
Zakładam, że ustawienie domyślnej wysokości/width powoduje, że pomijane jest zwiększanie liczby, ale nie mam pojęcia, dlaczego tak się dzieje.
Czy ktoś wpadł na to lub miał jakieś pomysły?
Zabrakło mi do tego problemu z kontrolą Telerik RadWindow (to pewnie też zdarzyć, ze zwykłej ChildWindow). Problem wystąpił, gdy określono MinHeight i MinWidth bez określania szerokości i wysokości. Gdy zmienił się rozmiar zawartości okna, wystąpił cykl układu. Ustawienie szerokości i wysokości na takie same wartości jak MinWidth i MinHeight rozwiązało problem. –