Я довольно новичок в WPF, поэтому я боролся с некоторыми основными понятиями.
Мое приложение состоит из главного окна, содержащего различные вкладки. Первая вкладка используется для добавления файлов, активируя другие вкладки, которые работают с данными файлами. Для простоты назовем последние «DataTabs».
Я не уверен, как правильно общаться между вкладками. В настоящее время FileInputTab использует назначенную ICommand для выполнения следующих действий: считывание данных, создание модели представления для DataTab и создание «ViewModelReadyEvent» с использованием представления FileInputTab.
Это событие затем всплывает в MainWindow, которое активирует DataTabs и передает им созданную ViewModel.
Теперь две вещи, с которыми я борюсь.
Заполнение модели представления
Является ли это лучшим подходом для заполнения модели представления для DataTabs внутри их соответствующих представлений, а не из FileInputTab, который на самом деле не имеет к этому никакого отношения? Таким образом, я мог бы правильно установить ссылку между ними, но мне пришлось бы выполнять заполнение отдельно для каждого DataTab. Есть мысли?
Связь между "родными" взглядами
Неправильно позволять событию пузыриться вплоть до главного окна, чтобы оно могло управлять всей межвидовой связью. Я посмотрел на RoutingStrategies, но я не могу найти способ напрямую общаться между «родными» взглядами. Я хотел бы вызвать событие в FileInputTab и напрямую воздействовать на него в DataTabs без какого-либо промежуточного звена.
Будем благодарны за любые мысли, комментарии или рекомендации книг экспертов WPF. Заранее спасибо.