Я знал основные строительные блоки многопоточности в WPF, но у меня есть вопрос, который меня довольно смущает.
Приложения WPF начинаются с двух потоков:
один для обработки рендеринга, а другой для управления пользовательским интерфейсом.
Звучит неплохо, но поток пользовательского интерфейса меня беспокоит, поток пользовательского интерфейса - это не что иное, как поток приложения
Поток, который создает элемент пользовательского интерфейса WPF, владеет элементами, а другие потоки не могут напрямую взаимодействовать с элементами пользовательского интерфейса, это известно как сходство потоков.
Скажем, у меня есть два текстовых поля и одна кнопка в Myapplication, и каждое текстовое поле имеет свой собственный DispatcherObject, при нажатии кнопки я обновляю текстовое поле со значениями, надеюсь, это будет сделано с помощью Тема пользовательского интерфейса.
1. Теперь у меня вопрос: UI Thread - это поток приложения, Button будет иметь собственный DispatcherObject, а Два текстовых поля будут иметь свои собственные DispatcherObject. Как этот поток пользовательского интерфейса, который имеет свой собственный DispatcherObject и отличается от этих элементов управления пользовательским интерфейсом, DispatcherObject может обновлять текстовые поля?
- Другой вопрос: если создать новое текстовое поле в фоновом потоке, могу ли я обновить это текстовое поле из потока пользовательского интерфейса?
пожалуйста, поправьте мое понимание, я не мог продолжить.