ContentControl から派生させ、特別な書式設定を行ってコンテンツの背後にドロップ シャドウを配置することにより、Silverlight でカスタム コントロールを構築しています。
ほぼ動作するようになりましたが、最近奇妙なエラーに遭遇しました。Border 以外のものが含まれている場合、または明示的に定義された高さと幅を持たない Grid/Stackpanel/etc が含まれている場合は、正常に機能します。
IE で JavaScript エラーが発生し、テキストには次のように表示されます。
ランタイム エラー 4008... レイアウト サイクルが検出されました... レイアウトを完了できませんでした。
含まれているグリッド/スタックパネル/などで高さと幅を指定すると、正常に機能します。
あまりにも多くのテキストボックスが使用されている場合 (250 以上)、このエラーについてウェブ上にたくさんありますが、グリッド内の 1 つのボタンでエラーを再現できます。
ページにテキストボックスがまったくありません。このエラーは、検出された無限ループに関係しています。コードにいくつかのブレークポイントを設定しましたが、レンダリング中に「SizeChanged」イベントが頻繁に呼び出され、高さ/幅が 10 ずつ増加するようです。
デフォルトの高さ/幅を設定すると、この数値の増分がスキップされると想定していますが、このエラーが発生する理由はわかりません。
誰かがこれに遭遇したか、何かアイデアがありますか?