Catel Mvvm Плагины PropertyGrid
Я бы хотел знать. Как я могу динамически выбирать вид? Я хотел бы сделать PropertyGrid в моем приложении. PropertyGrid должен измениться, когда пользователь выбирает объект. Как я понимаю, для этой задачи я должен использовать DataTemplate, но как я могу динамически создавать DataTemplate в коде? Дело в том, что я использую плагины и View и ViewModel для каждого плагина, расположенного в отдельной DLL, и поэтому не могу напрямую написать DataTemplate в PropertyesViewModel. Как я могу сделать свойства редактирования для каждого плагина, используя Propertygrid, если я не могу использовать DataTemplate?
1 ответ
Для Catel не имеет значения, в каких сборках находятся модели представлений / представлений, поскольку он использует относительные соглашения об именах. Однако, если вы хотите показать пользовательское представление, основанное на логике, которая может находиться внутри плагина, я думаю, что это выходит за рамки Catel.
Чтобы решить эту проблему, вы должны реализовать пользовательскую службу, которая может взаимодействовать с плагинами и разрешить правильное представление для выбранного объекта. Одним из решений может быть соглашение об именовании (если это PersonModel, вы можете показать PersonPropertiesView и PersonPropertiesViewModel). Однако это должен быть пользовательский сервис.