我有一個複合WPF應用程序。我打算實施工具欄功能。很少有工具欄項目(基本上是打印,保存,隱藏,展開,撤消),這對於主要區域中的所有視圖都是通用的。爲此,我創建了默認工具欄模塊,它將這些項目(打印,保存,隱藏,展開,撤消)添加到工具欄區域。當用戶單擊任何工具欄項目時,需要由主區域中的所有20個視圖來處理。wpf棱鏡複合命令
對於每個工具欄項目,我都關聯了一個prism delegatecommand對象。
樣品:
private ICommand _printCommand;
public ICommand PrintCommand
{
get
{
if (_printCommand == null)
{
_printCommand =
new DelegateCommand<object>(**Print**, **CanPrint**);
}
return _printCommand;
}
}
XAML中,結合工具欄項到該命令。
在主要區域,我們顯示近20個視圖。所有這些視圖都必須包含這個命令。我正在考慮使用事件聚合器來發佈一個事件,並且所有的視圖都會記錄這個事件。
對於前: 當用戶點擊打印,打印命令執行打印方法,將發佈打印事件。本次活動將提供20個視圖並進行進一步處理。
我在正確的方式實施工具欄?
你希望打印所有視圖,還是隻打印當前視圖,例如,帶輸入焦點的視圖? – 2010-02-12 12:43:03
對於打印,我想用輸入焦點打印視圖。但是,對於保存和展開,它應該適用於所有視圖 – Praveen 2010-02-12 13:51:22