То, что у меня есть, это два основных класса Plugin
и PluginLauncher
Плагин - это абстрактный класс, который реализует некоторые функции, чтобы сделать класс Плагином для моего класса PluginLauncher.
PluginLauncher - это класс, который содержит коллекцию (SortedDictionary), включая некоторые вспомогательные функции для запуска, остановки, перезапуска всех или определенного плагина.
Он также загружает все плагины при инициализации. Каждый плагин может быть .exe или .dll с классом, наследуемым от плагина.
Домен приложений создается для каждого плагина, и для каждого плагина также устанавливается связь (через простой обмен сообщениями IPC через сокеты) (все еще необходимо реализовать)
Я хочу иметь ОЧЕНЬ, ОЧЕНЬ базовую реализацию графического интерфейса, которая просто имеет список всех загруженных плагинов, отмечая имя плагина, его состояние (которое может быть запущено, останавливается, остановлено, преждевременно остановлено (Enum)) и кнопка для запуска, остановки или перезапуска каждого плагина.
Я знаю, что могу добавить эту функциональность программно, просто поместив элементы в GUI и рассчитав каждое местоположение X / Y и т. Д., Но я уверен, что WPF имеет некоторые готовые «функциональные возможности» для этого. Но я новичок в WPF и понятия не имею, с чего начать.
Простое примечание: я ограничен .net 3.5 (или ниже), поэтому нет элементов 4.0.
Я включил очень простой (ура навыки mspaint) пример того, что я имел в виду.
