Я разрабатываю систему, в которой параллельно выполняются несколько задач.Каждый из них получает некоторый ввод и должен возвращать графический вывод в векторном формате.
Основное приложение WPF должно затем выводить результат любой из этих задач по запросу пользователя.В настоящее время я использую Canvas, Rectangle и другие System.Windows.Shapes в качестве графического векторного формата в качестве вывода.Когда задача выполнена, я беру детей Canvas и добавляю их один за другим к фактическому холсту GUI.
Однако я только что обнаружил, что элементы пользовательского интерфейса не могут быть созданы ни в каком другом потоке, кроме основного (так называемого потока Dispatcher).http://social.msdn.microsoft.com/Forums/ar/wpf/thread/c4600372-342c-4ee4-b49c-d9abf967fc93
Передача создания элементов пользовательского интерфейса (как предложено в статье выше) основному потоку для меня не вариант, поскольку они должны отображаться всякий раз, когда пользователь запрашивает вывод, ине когда задача закончена.
На самом деле мне не нужно создавать элементы пользовательского интерфейса в другом потоке, я просто хочу удобный метод для создания векторной графики и отображения ее позже в приложении WPF.
У кого-нибудь есть идеи, что делать?