A WPF FlowDocument
может принадлежать только одному RichTextBox
. Тем не менее, мы хотели бы использовать один документ, которым можно манипулировать в разных точках (в пространстве и времени) в пользовательском интерфейсе. Никогда не случится, чтобы два RichTextBoxes
одновременно отображали один документ (и не могут, потому что WPF будет жаловаться).
Использование MemoryStream
и XamlReader
/ Writer
не сработает, так как мы хотели бы сохранить один документ и отражать изменения, где бы он ни использовался, поэтому копируйте его каждый раз.
Есть ли другой жизнеспособный способ добиться этого? Что-то, что вы могли бы использовать в качестве базовой модели для создания FlowDocument
или около того?
Пояснение: RichTextBox, которые используют Документ, больше не видны или находятся где-либо в логическом / визуальном дереве, когда будет создан другой экземпляр. Хотя я, вероятно, не могу обеспечить, чтобы они уже были съедены GC. По-видимому, это вызывает проблему при повторном использовании документа сразу после удаления RichTextBox из окна; это все еще вызывает исключение, что Документ уже используется в другом элементе управления.
По сути, у вас есть набор "страниц мастера", которые отображаются одна за другой, и может случиться, что мы повторно используем Документ на двух последовательных "страницах", но каждый раз создаем новый RTBox. Может быть, есть проблема или лучше?