多くのRichTextblockOverflowsを持つRichTextblockであるブックアプリを構築したいのですが、コードビハインドでオーバーフローを作成し、それらをスクロールビューアーのスタックパネルに追加します。アプリをテストしたところ、オーバーフローの作成がすぐに終了したことがわかりましたが、その後、UI にオーバーフローを表示するためにしばらく (これは耐えられません) ブロックされます。stackpanel の LayoutUpdated イベントを登録したところ、オーバーフローが作成されてから長時間にわたってトリガーされることがわかりました。
どうすればパフォーマンスを向上させることができますか? ありがとう
while (true)
{
// for existing columns just set their width
var overflow = CreateOverflow(columnWidth, margin, lastOverflow);
lastOverflow = overflow;
overflow.Measure(availableSize);
_layoutPanel.Children.Add(overflow);
if (!overflow.HasOverflowContent)
{
overflow.UpdateLayout();
}
if (!overflow.HasOverflowContent)
{
_layoutPanel.LayoutUpdated += _layoutPanel_LayoutUpdated;
break;
}
}