C # WPF MAF надстройка взаимодействия между собой

StackOverflow https://stackoverflow.com/questions/2904452

  •  04-10-2019
  •  | 
  •  

Вопрос

Я хотел бы создать очень простое приложение для краски, используя MAF на WPF.

Добавление, которые я хотел бы создавать:

  1. Основной процессор изображений - показать текущую краску и получать входы от пользователя
  2. Ящик для инструментов - пользователь может выбрать некоторые типы инструментов чертежей
  3. Слои - пользователь может выбрать слои для отображения, удалять слои и выбирать, на каком слое работать на

Вопрос в том, как я могу взаимодействовать между различными надстройками без использования хоста?

Спасибо, Ронни.

Это было полезно?

Решение

То, как я делаю это для того, чтобы хозяин собирать каждый дополнение в коллекцию, поскольку они обнаруживаются, а затем проходят эту коллекцию для каждого дополнения, как она инициализирует его. То, что вы передаете на надстройки, являются другими интерфейсами дополнений, так как это действительно все, что хост знает о них.

Хост должен инициализировать каждое дополнение, а затем, как только они все инициализируются, сигнализируйте их для активации, где они затем обнаруживают другие надстройки и пошли делать свою вещь. Каждое дополнение должно разоблачить метод WHOAREYO, чтобы они могли узнать, кто еще установлен, когда они активируются. Получение ваших дополнений от базового класса упростит это. Как только вы подумали его, то это сделано для всех них.

Этот подход использует только хост, чтобы собрать и распространять интерфейсы надстройки, причем добавления взаимодействуют непосредственно друг с другом через трубопровод с договором вместо того, чтобы маршрутизировать сообщения через хост.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top