Плагины Catel Mvvm PropertyGrid

Я бы хотел знать. Как я могу динамически выбирать вид? Я хотел бы сделать PropertyGrid в своем приложении. PropertyGrid должен изменяться, когда пользователь выбирает объект. Насколько я понимаю, для этой задачи мне нужно использовать DataTemplate, но как я могу динамически создавать DataTemplate в коде? Дело в том, что я использую плагины и View и ViewModel для каждого плагина находятся в отдельной dll и поэтому я не могу напрямую написать DataTemplate в PropertyesViewModel. Как я могу настроить свойства редактирования для каждого плагина с помощью Propertygrid, если я не могу использовать DataTemplate?


person Sergei Lukyanov    schedule 09.03.2015    source источник


Ответы (1)


Для Catel не имеет значения, в каких сборках расположены представления/модели представлений, поскольку он использует соглашения об относительных именах. Однако, если вы хотите показать собственное представление на основе логики, которая может находиться внутри плагина, я думаю, что это выходит за рамки Catel.

Чтобы решить эту проблему, вы должны реализовать пользовательскую службу, которая может взаимодействовать с плагинами и разрешать правильное представление для выбранного объекта. Одним из решений могут быть соглашения об именах (если это PersonModel, вы можете захотеть показать PersonPropertiesView и PersonPropertiesViewModel). Однако это должна быть индивидуальная услуга.

person Geert van Horrik    schedule 09.03.2015