当前位置:  开发笔记 > 编程语言 > 正文

为什么我的AppBar在Page load上显示为ClosedDisplayMode.Compact而不管实际设置如何?

如何解决《为什么我的AppBar在Pageload上显示为ClosedDisplayMode.Compact而不管实际设置如何?》经验,为你挑选了1个好方法。

我正在为Win10移植一个Win8.1应用程序到UWP并遇到一个奇怪的问题AppBar.我们尝试使用CommandBar而不是AppBar,但问题仍然发生在我们身上.我们使用的是MyToolkit的最新版本(撰写本文时为2.5.16).我们的观点如下:

SomeView从导出BaseViewdervices从MtPage(从导出Page)

因此,对于特定视图(在本例中HomeView),XAML看起来像:


   
      
         
            
               
            
         
      
   
   

哪里NavigationViewUserControl有一些按钮,并NavigationViewContextNavigationViewModel描述了按钮应该是其网页上的活跃,等等.

问题是,这会产生一种半开,半闭的AppBar外观(几乎但不完全像ClosedDisplayMode设置的Compact那样),如下所示:

在此输入图像描述

加入后ClosedDisplayMode="Minimal"控制,在提到这个问题时,现场可视化树证实AppBar具有IsOpen = 0AppBarClosedDisplayMode.Minimal...但它仍然固执地出现在上面的截图半开.

奇怪的是,如果用户导航HomeView到某个其他视图然后返回到它,AppBar则使用AppBarClosedDisplayMode.Minimal(!)正确渲染:

在此输入图像描述

我们已经尝试处理视图的NavigatedTo事件并手动强制ClosedDisplayMode执行Minimal,但这不会影响渲染输出(在任何情况下,实时可视树都会确认已经正确设置了Minimal).

任何想法为什么会发生这种情况,和/或如何在不必先导航的情况下AppBar使其呈现ClosedDisplayMode = Minimal?我确信我可能会以某种方式暴力破解,但我觉得可能有更好的方式,或者我错过了一些非常简单的东西.



1> jsanalytics..:

只需切换到即可CommandBarCommandBar开箱即用,无论是Minimal还是Compact模式,都可以很好地工作。CommandBar是推荐的首选控制AppBar。显然,保留的唯一原因AppBar是最小化更改。

AppBar-MSDN。

重要说明:仅当升级使用AppBar的Universal Windows 8应用程序并且需要最小化更改时,才应使用AppBar。对于Windows 10中的新应用,我们建议改为使用CommandBar控件。

页:










    
        
            
        
    

用户控制:




    
        
        
        
    

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有