【问题标题】:WPF Toolbar with Prism带棱镜的 WPF 工具栏
【发布时间】:2016-11-02 14:59:27
【问题描述】:

我的问题跟在这个问题后面:WPF Module toolbar prism

是否可以将 WPF 工具栏用作棱镜区域?我想做的是这样的:

<DockPanel>
    <ToolBarTray DockPanel.Dock="Top">
        <ToolBar prism:RegionManager.RegionName="MainNavigationRegion">

        </ToolBar>
    </ToolBarTray>
</DockPanel>

基本上,我想要的是我的模块能够填充导航区域中的工具栏按钮,但仍保留工具栏的属性(当所有按钮都不适合时折叠)。

【问题讨论】:

  • 是的,这是可能的。解决方案已经存在:您必须创建一个自定义区域适配器,正如您发布链接的答案中所描述的那样。
  • “受保护的覆盖 RegionAdapterMappings ConfigureRegionAdapterMappings()”方法是来自自定义类“MyToolbar”的方法?抱歉,也许这是一个非常愚蠢的问题,但我对 Prism 很陌生。然后 MyToolbar 类继承自 ToolBar?而包含 MyToolbar 的 DockPanel 和 ToolBarTray 是定义在 MyToolBar 类中还是在 Shell 中?
  • 不,这是您的 PRISM 应用程序引导程序中的一种方法。您不需要编写自己的工具栏,而是需要创建一个RegionAdapter 派生类,该类可以使 PRISM 的区域适应工具栏的项目。
  • @dymanoid:这是我的“ConfigureRegionAdapterMappings()”方法:受保护的覆盖 RegionAdapterMappings ConfigureRegionAdapterMappings(){ RegionAdapterMappings regionAdapterMappings = base.ConfigureRegionAdapterMappings(); regionAdapterMappings.RegisterMapping(typeof(ToolBar), new ToolBarRegionAdapter());返回区域适配器映射;我得到这个错误:'Prism.ToolBarRegionAdapter'不包含一个带 0 个参数的构造函数。但是,我的 ToolBarRegionAdapter 没有构造函数,它从 RegionAdapterBase

标签: c# wpf mvvm prism


【解决方案1】:

基本上,在 PRISM 中,每个区域都是单独的用户控件/项目,这意味着模块的即插即用,您可以做一件事,在一个用户控件中创建工具栏或功能区面板并在引导程序中注册该视图,然后像往常一样在 Shell 中绑定相应的视图.xaml .

【讨论】:

    猜你喜欢
    • 2018-09-13
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 2018-11-10
    • 2011-04-02
    • 1970-01-01
    • 2013-12-27
    • 2011-09-10
    相关资源
    最近更新 更多