我在Prism
應用程序中只有一個模塊。讓該模塊名稱爲ModuleA
,應用程序名稱爲"CoolAppl"
。這個應用程序很酷,它在生產中的確很好。一旦有人想添加新的按鈕,例如"Delete Person"
,到這個應用程序"CoolAppl"
。是否可以在沒有重新編譯的情況下將新控件添加到Prism應用程序?
我的問題是我或者從另一個城市的人可以僅僅通過必要的按鈕Delete Person
添加DLL添加新的按鈕"Delete Person"
應用"CoolAppl"
的ModuleA
無需重新編譯任何模塊?
如果可能的話,請給我指示我應該挖掘/搜索的方向:)。
我使用的是這樣的機制導航的:
Uri wholeView = new Uri("ModuleA", UriKind.Relative);
regionManager.RequestNavigate(RegionNames.TheBottomRegion, wholeView);
var currentView = regionManager.Regions[RegionNames.TheWholeRegion].Views.ElementAt(0);
regionManager.Regions[RegionNames.TheWholeRegion].Remove(currentView);
而且類identificate模塊看起來像這樣:
public class ModuleAModule : ModuleBase, IModule
{
private readonly IRegionManager _regionManager;
private readonly IUnityContainer _container;
public ModuleAModule(IUnityContainer container, IRegionManager regionManager)
: base(container, regionManager)
{
_regionManager = regionManager;
_container = container;
}
protected override void InitializeModule()
{
RegionManager.RegisterViewWithRegion(RegionNames.TheWholeRegion, typeof(LoginControl));
}
protected override void RegisterTypes()
{
Container.RegisterType<IViewModel, MyViewModel>();
Container.RegisterTypeForNavigation<MySuperControl>();
}
}
對你的問題沒有一般的答案。我們甚至不知道你如何實現導航,查看發現等。更具體地說,描述你的應用程序,提供相關的代碼。 – dymanoid
@dymanoid我添加了新的代碼。感謝您的建議 – StepUp