0
我們正在計劃開發一個使用MEF作爲基礎的框架,根據需要提取棱鏡。沒有RegionManager的PRISM導航,只有MEF
棱鏡的目標資產之一是導航。可以,但可以與RagionManager一起使用嗎?
我們不想使用RegionManager,因爲它看起來有點矯枉過正。我們大多是一個工作流程類型的應用程序,並不需要複雜的UI組成,這是區域管理員的主要目的
我們正在計劃開發一個使用MEF作爲基礎的框架,根據需要提取棱鏡。沒有RegionManager的PRISM導航,只有MEF
棱鏡的目標資產之一是導航。可以,但可以與RagionManager一起使用嗎?
我們不想使用RegionManager,因爲它看起來有點矯枉過正。我們大多是一個工作流程類型的應用程序,並不需要複雜的UI組成,這是區域管理員的主要目的
大部分時間,導航只是菜單項,我同意,這有點矯枉過正。
我們對菜單項所做的是使用Shell註冊菜單項,這樣Shell就可以創建菜單,包括外觀和感覺。有了MEF,這非常簡單。
以MenuItem實體開始。
public class MenuItem
{
public ICommand ClickCommand { get; private set; }
public string Path { get; private set; }
public MenuItem(DelegateCommand command, string path) { //yada yada }
}
從您的模塊中,您可以導出這些菜單項的實例。
[Export(typeof(MenuItem))]
public MenuItem MyFirstItem = new MenuItem(
new DelegateCommand(
() => MessageBox.Show("woo!")),
"My First\Menu Item 1")
);
而在你的shell中,你只需要導入這些元素並創建任何可視元素,你試圖呈現菜單項。這還有一個好處,就是不依靠模塊來創建正確的導航元素,當你希望它們看起來都一樣。