У меня есть составное приложение WPF. Я планирую реализовать функциональность панели инструментов. Есть несколько элементов панели инструментов (в основном, печать, сохранение, скрытие, расширение, отмена), которые будут распространены для всех видов в основном регионе. Для этого я создал модуль панели инструментов по умолчанию, который добавит эти элементы (отпечатать, сохранить, скрыть, развернуть, отменить) в область панели инструментов. когда пользователь нажимает на любой элемент панели инструментов, это необходимо обрабатывать всеми 20 видами в основном регионе.wpf prism составная команда
Для каждого элемента панели инструментов я связал объект делегата призмы.
образец:
private ICommand _printCommand;
public ICommand PrintCommand
{
get
{
if (_printCommand == null)
{
_printCommand =
new DelegateCommand<object>(**Print**, **CanPrint**);
}
return _printCommand;
}
}
Xaml, связать панель инструментов элемент для этой команды.
В основном регионе мы показываем около 20 видов. Все эти взгляды должны подчиняться этой команде. Я думаю использовать агрегатор событий для публикации события, и все представления будут подписываться на это событие.
Для примера: , когда пользователь щелкает печатью, выполняется команда печати Печать метод, который будет публиковать событие печати. Это событие будет подано на 20 просмотров и продолжит обработку.
Я реализую панель инструментов в правильном направлении?
Вы хотите, чтобы все виды печати или только текущий вид, например, вид с фокусом ввода? –
Для печати, я хотел бы напечатать представление с фокусом ввода. Но для сохранения и расширения он должен применяться ко всем представлениям – Praveen