zoukankan      html  css  js  c++  java
  • Wpf下dragablz使用Prism8进行导航-3

    前言-续Wpf下AvalonDock使用Prism8进行导航2

    1.通常TabablzControl的是通过ItemSource进行TabItem选项卡控制的,一般也是这样搞的。

    无意中用TabablzControl替换了TabControl,发现_regionManager.RequestNavigate失效了。

    2.一般思路都是百度一下解决方案,很高兴的是,DragablzPrism开源代码实现了,遗憾的是用的老prism,那就升级上来吧,不好使。

    3.那就只好自己按照Wpf下AvalonDock使用Prism8进行导航2的方法,讲Avalon替换成Dragablz,再参照下2中的方法。

    4.实现了TabablzControlBehavior,TabablzControlRegion,TabablzControlRegionAdapter代码就不贴,大家下载源码看吧。

    5.使用方法:

     protected override void ConfigureRegionAdapterMappings(RegionAdapterMappings regionAdapterMappings)
            {
                base.ConfigureRegionAdapterMappings(regionAdapterMappings);
                regionAdapterMappings.RegisterMapping(typeof(TabablzControl), Container.Resolve<TabablzControlRegionAdapter>());
            }
     <dragablz:TabablzControl prism:RegionManager.RegionName="ContentRegion3" Margin="5" 
                                    ShowDefaultCloseButton="True" 
                                    ClosingItemCallback="{Binding ClosingTabItemHandler}"
                                    ItemContainerStyle="{StaticResource TrapezoidDragableTabItemStyle}" >
                        <dragablz:TabablzControl.HeaderItemTemplate>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock Text="{Binding DataContext.Title}"/>
                                </StackPanel>
                            </DataTemplate>
                        </dragablz:TabablzControl.HeaderItemTemplate>
                        <dragablz:TabablzControl.ContentTemplate>
                            <DataTemplate DataType="{x:Type preview:TabablzProxy}">
                                <ContentPresenter Margin="4" Content="{Binding View}" />
                            </DataTemplate>
                        </dragablz:TabablzControl.ContentTemplate>
                    </dragablz:TabablzControl>

    6.上图:

    7.老规矩,上源码地址:https://gitee.com/akwkevin/AIStudio.Wpf.AvalonDockPrism

    作者:竹天笑
    互相学习,提高自己。
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    iOS----------Runtime 获取属性列表 方法列表
    iOS----------四舍五入(只舍不入)
    iOS----------时间戳与NSDate
    iOS----------Apple id如何关闭双重认证?
    iOS----------最全Emoji编码
    iOS----------Bad Gateway
    iPhone手机怎么投影到MacPro上
    iOS----------use_frameworks!
    Win 常用快捷键
    电脑硬件介绍
  • 原文地址:https://www.cnblogs.com/akwkevin/p/15117566.html
Copyright © 2011-2022 走看看