Sto costruendo un controllo personalizzato in Silverlight derivando da ContentControl e facendo alcune formattazioni speciali per mettere un dropshadow dietro il contenuto.Errore Silverlight "Impossibile completare il layout Rilevato ciclo layout" quando si utilizza il controllo personalizzato
Ho quasi funzionato, ma di recente ho avuto un bizzarro errore. Funziona bene se contiene qualcosa oltre a un Border, o un Grid/Stackpanel/etc che non ha un'altezza e una larghezza definite in modo esplicito.
ottengo un errore JavaScript in IE, e il testo dice:
Errore di runtime 4008 ... layout Ciclo rilevato ... layout Impossibile completare.
Se specifico un altezza e larghezza sulla griglia di partenza/StackPanel contenute/etc funziona benissimo.
C'è una tonnellata sul web riguardo a questo errore quando si usano troppe caselle di testo (oltre 250), ma sono in grado di riprodurre il mio errore con un singolo pulsante in una griglia.
Non ho nessuna casella di testo nella pagina. L'errore ha a che fare con un loop infinito rilevato. Ho impostato alcuni punti di interruzione nel codice e sembra che l'evento "SizeChanged" venga richiamato molto durante il rendering e ogni volta l'altezza/larghezza aumenta di 10.
Suppongo che l'impostazione di un'altezza predefinita/width lo fa saltare questo incremento del numero, ma non ho idea del perché questo errore stia accadendo.
Qualcuno si è imbattuto in questo o ha qualche idea?
Ho incontrato questo problema con il controllo del Telerik RadWindow (sarebbe probabilmente accadrà anche con la childWindow regolare). Il problema si è verificato quando ho specificato MinHeight e MinWidth senza specificare Larghezza e Altezza. Quando la dimensione del contenuto della finestra è cambiata, si è verificato un ciclo di layout. L'impostazione di Larghezza e Altezza sugli stessi valori di MinWidth e MinHeight ha risolto il problema. –