Мне было поручено обновить и рационализировать проект WPF, созданный с использованием ModernUI. Он ссылается на Prism, но фактически нигде не использует его - почти весь код находится в файлах с выделенным кодом под XAML.
Это не тестируемое и не обслуживаемое, поэтому я реализую модели представления и корректно использую Prism. Тем не менее, очевидно, что я не могу изменить внешний вид слишком сильно, и, честно говоря, визуальный редизайн мне не подходит, я не графический дизайнер.
Так что мы в порядке, пока не дойдем до навигации. Я не могу найти ни ссылки, ни даже намека на то, как использовать ICI для Mui вместе с регионами Prism.
Может кто-нибудь предложить подсказку?
EDIT:
Я все еще не могу заставить регионы работать и, таким образом, терять модульность, но я обнаружил, что могу выполнять навигацию MVVM способом с помощью mui.
Если кому-то интересно, и MenuLinkGroups, и TitleLinks являются свойствами зависимостей ModernWindow, так что на самом деле их довольно просто построить в viewmodel и связать, как это в объявлении Window -
TitleLinks ="{Binding TitleLinks}"
MenuLinkGroups ="{Binding MenuLinkGroups}"
и в модели представления -
private LinkGroupCollection _menuLinkGroups = new LinkGroupCollection();
public LinkGroupCollection MenuLinkGroups
{
get => _menuLinkGroups;
set => SetProperty(ref _menuLinkGroups, value);
}
private LinkCollection _titleLinks = new LinkCollection();
public LinkCollection TitleLinks
{
get => _titleLinks;
set => SetProperty(ref _titleLinks, value);
}
Я еще не пробовал это с UserControl, но я вполне уверен, что он работает так же.
Я бы по-прежнему ценил Регионы и, следовательно, модули. Любая помощь приветствуется.