我想构建一个图书应用程序,一个带有许多 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;
}
}