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