0

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

0 回答 0