UWP中Page.BottomAppBar致Page.Content不可访问及Sticky属性疑问
UWP BottomAppBar导致Content无法点击的解决方法及原理
解决步骤
- 严格遵循XAML规范放置BottomAppBar:将
Page.BottomAppBar属性元素与Page.TopAppBar、Page.Resources放在同一层级,不要和Page.Content的内容代码混合编写。 - 给BottomAppBar添加
Sticky="True"属性,示例代码如下:
<Page.BottomAppBar> <CommandBar Sticky="True"> <!-- 底部工具栏内容 --> </CommandBar> </Page.BottomAppBar>
Sticky="True"生效的原因
默认状态下(Sticky="False"),BottomAppBar属于非粘性工具栏,系统会在页面Content区域底部预留一块不可见的触发区域,用于检测用户上滑手势以唤起工具栏。这块触发区域会拦截下方Content的点击事件,同时干扰焦点的正常获取。
当设置Sticky="True"后,BottomAppBar变为粘性工具栏,会始终固定显示在页面底部,系统不再生成那块拦截交互的触发区域,Content区域就能正常接收点击事件,启动时也能正常获取焦点。
内容的提问来源于stack exchange,提问作者rfreytag
相关产品推荐
相关产品推荐

