У меня есть необходимость генерировать динамическое создание FlowDocument из большого набора данных. Поскольку процесс занимает несколько минут, я хотел бы выполнить операцию в фоновом потоке, а не зависать.Создание FlowDocument в потоке BackgroundWorker
Однако я не могу сгенерировать FlowDocument для потока, отличного от UI, в противном случае попытки вставить Rectangles and Images вызывают ошибки времени выполнения, жалуясь, что это не поток STA.
Есть несколько потоков на StackOverflow, которые, кажется, связаны с той же проблемой, что я, имеющий ...
«Доступ к WPF FlowDocument в Фоновый процесс» Accessing a WPF FlowDocument in a BackGround Process
«WPF: Есть невозможно ли загружать пользовательский интерфейс в фоновом потоке? " WPF : Is it impossible to UI load in background thread?
В первой ссылке кто-то предлагает следующее:
«То, что я хотел бы сделать: использовать XamlWriter и сериализовать FlowDocument в XDocument Задача Сериализация вовлекает грузоотправитель, но как только это. вы можете запускать как можно больше дурацких параллельных анализов данных, как вы хотите, и ничто в интерфейсе не повлияет на него. (Также, когда это XDocument, вы запрашиваете его с XPath, что является довольно хорошим молотом, если ваши проблемы на самом деле гвозди.) "
Может ли кто-нибудь уточнить, что означает authour?
Многие ТИА
Окончательный FlowDocument затем используется для создания XpsDocument, который затем отображается как FixedDocumentSequence с помощью элемента управления DocumentViewer в XAML. – JamesPD
Вы создаете экземпляр flowdocument в потоке ui, прежде чем начинаете генерировать контент в фоновом потоке? или что-то подобное? – TheZenker