WPF模块工具栏棱镜

时间:2012-12-10 20:06:16

标签: wpf prism unity-container

任何人都可以提供一个关于如何填充导航工具栏的提示,类似于Billy Hollis视频在应用程序底部显示的StaffLynx实体工具栏吗?

我只想在工具栏中显示“客户端”图标,如果运行的应用程序版本确实已加载并可用客户端模块但不确定如何执行此MVVM样式?

由于

1 个答案:

答案 0 :(得分:1)

你想要的是你的工具栏有一个区域:

<controls:MyToolbar Prism:RegionManager.RegionName="ToolbarRegion" />

然后确保工具栏类型有效RegionAdapter;您可以在引导程序中覆盖ConfigureRegionAdapterMappings以注册其他区域适配器:

protected override RegionAdapterMappings ConfigureRegionAdapterMappings()
{
    var mappings = base.ConfigureRegionAdapterMappings();

    var toolbarAdapter = Container.Resolve<MyToolbarRegionAdapter>();
    mappings.RegisterMapping(typeof (MyToolbar), toolbarAdapter);
}

然后在您的模块中,您可以注册要在此区域中显示的视图,例如:

public class ModuleA : IModule
{
    private readonly IRegionManager _regionManager;

    public ModuleA(IRegionManager regionManager)
    {
        _regionManager = regionManager;
    }

    public void Initialize()
    {
        _regionManager.RegisterViewWithRegion("ToolbarRegion", typeof(MyToolbarItem));
    }
}

MyToolbarItem是您希望在工具栏中显示的视图。

然后Prism将自动实例化MyToolbarItem的实例并将其添加到名为ToolbarRegion的区域。