Вызывать означает планирование вашего кода для запуска в потоке, который владеет элементами управления, что во всех простых случаях будет тем же потоком для всех ваших элементов управления. Поэтому, несмотря на то, что вам приходится вызывать каждый раз, когда вы хотите взаимодействовать с элементом управления, на практике вы можете «объединить» столько взаимодействий, сколько вы хотите вместе, и вызывать только один раз для всего фрагмента (это будет более производительным).
Если вы хотите «скрыть» вызовы, вам нужно написать класс, который при запуске будет обнаруживать изменения в его свойствах и использовать Invoke
в коде, который взаимодействует с вашими элементами управления способом, зависящим от этих свойств. , Таким образом, рабочий процесс будет:
- Ваш работник изменяет свойства "контроллера", не вызывая. Это не имеет немедленного эффекта.
- В какой-то момент контроллер «запускается» (возможно, периодически работником?).
- Контроллер обнаруживает (или уже знает), какие изменения были внесены в его свойства и как они преобразуются в вызов кода для элементов управления. Он вызывает блок кода, который соответствующим образом взаимодействует с элементами управления.