Я использую AvalonDock в приложении WPF, и мне нужно сохранить макет AvalonDock, настроенный пользователем (перемещение, стыковка, отсоединение панелей).
Функции для этого находятся в самом элементе управления (SaveLayout, RestoreLayout).
Как правильно это сделать?
] Прямо сейчас у меня есть команда в mainWindowViewModel, которая создается приложением при создании экземпляра оконного представления и viewmo. del. Это в основном заставляет команду relay вызывать анонимный метод, который вызывает необходимую функцию в элементе управления представлением. Это работает, поскольку приложение создает для него окно и модель просмотра.
Но как я могу подойти к этому, если это должно было сделать какое-то представление более низкого уровня и модель просмотра? Если бы я использовал этот метод, мне все равно пришлось бы создавать команду на уровне приложения и отправлять ее через viewModels туда, где она должна быть привязана? Внутри него мне пришлось бы искать пользовательский элемент управления, который является представлением, а затем элемент управления avalonDock внутри него и использовать его на уровне приложения, что подвержено ошибкам. Почему-то это кажется грязным ...
Спасибо!