Я немного новичок в WPF, но я понимаю, что по умолчанию приложение WPF имеет 2 потока; один для пользовательского интерфейса и один для управления. Правильно?
Скажем, в моем MainWindow
появляются другие окна в собственной ветке. Поэтому я создаю новый поток, и в этом потоке я создаю экземпляр Foo1
(определенный как class Foo1 : Window
). Затем создайте другой поток и создайте экземпляр Foo2 и т. Д. (Я делаю это с мыслью, что, поскольку каждое из этих окон выполняет некоторые интенсивные действия, возможно, они должны быть в своем собственном потоке).
Полагаю, мой вопрос в два раза:
a) это избыточное убийство или я должен просто создать экземпляр Foo1
, Foo2
, Foo3
из MainWindow
все в одном потоке.
б) если это не излишне, как мне безопасно обновить свой интерфейс. Нужно ли вносить изменения в элементы пользовательского интерфейса в каждом из соответствующих Window
в Dispatcher
, чтобы попасть в единственный поток пользовательского интерфейса?