默认情况下,AppBar会在失去焦点的时候收回去,给主要的界面内容留出更多的可操作空间,但是某些情况下需要让AppBar持久显示,例如:在修改、删除操作的界面中,为了让用户在操作完成后点击AppBar上的“完成”按钮,又怕用户不知道按钮的存在,我们需要将AppBar持久显示在界面中。
具体方法是这样的:
AppBar有个IsSticky属性,用来控制其是否持久显示。赋值为true时,AppBar才能持久显示,默认是false。如果持久显示时,用户点击了右键或者触屏上向下滑动(与打开appbar的操作一样),那么appbar依然会进行相应的操作。
或许大家也在自己的应用中用了这个属性,但是你是否发现会有bug呢?
如果你得程序写成
BottomAppBar.IsOpen = true; BottomAppBar.IsSticky = true;
那么,用户在点击按钮时会遇到第一次点击总是无效,需要第二次操作才能响应的bug,其实问题就在语句的顺序上:
如果你把上面两行代码顺序颠倒,就会解决这个Bug