Splitview Pane & Page CommandBar & Keyboard 相互重叠
Splitview Pane & Page CommandBar & Keyboard overlaps each other
当我使用 SplitView 和 CommandBar 时,我将 CommandBar 放在 Page.BottomAppBar 中,但 CommandBar 与 SplitView Pane 重叠。所以我将 CommandBar 移动到页面的内容(如:)。有效。
但这需要一个新问题。在页面中显示键盘时,键盘与 CommandBar 重叠。我想在键盘为 showing.How 时显示 CommandBar,可以吗?
这里可以给个workground,可能有点duffer,但是可以解决你的问题
由于Page.BottomAppBar
中的CommandBar在软键盘可见时不会隐藏,而是与SplitView Pane重叠,我们可以保留Grid
内容中的CommandBar
,但是复制这个 CommandBar
并把它放到 Page.BottomAppBar
中,同时让它首先折叠起来,例如像这样:
<Page.BottomAppBar>
<CommandBar x:Name="AppCommandBarCopy" Visibility="Collapsed">
<CommandBar.PrimaryCommands>
<AppBarButton Name="SaveCopy"
Icon="Save"
Label="Save"></AppBarButton>
<AppBarButton Name="ClearCopy"
Icon="ClearSelection"
Label="Clear"></AppBarButton>
</CommandBar.PrimaryCommands>
</CommandBar>
</Page.BottomAppBar>
然后在后面的代码中,我们可以检测软键盘是否可见,如果键盘可见,则显示此文案;如果没有,请隐藏此副本,例如此处:
public SplitViewCommandBarKeyboard()
{
this.InitializeComponent();
InputPane.GetForCurrentView().Showing += OnKeyboardShowing;
InputPane.GetForCurrentView().Hiding += OnKeyboardHidding;
}
private void OnKeyboardHidding(InputPane sender, InputPaneVisibilityEventArgs args)
{
AppCommandBarCopy.Visibility = Visibility.Collapsed;
}
private void OnKeyboardShowing(InputPane sender, InputPaneVisibilityEventArgs args)
{
AppCommandBarCopy.Visibility = Visibility.Visible;
}
当我使用 SplitView 和 CommandBar 时,我将 CommandBar 放在 Page.BottomAppBar 中,但 CommandBar 与 SplitView Pane 重叠。所以我将 CommandBar 移动到页面的内容(如:
但这需要一个新问题。在页面中显示键盘时,键盘与 CommandBar 重叠。我想在键盘为 showing.How 时显示 CommandBar,可以吗?
这里可以给个workground,可能有点duffer,但是可以解决你的问题
由于Page.BottomAppBar
中的CommandBar在软键盘可见时不会隐藏,而是与SplitView Pane重叠,我们可以保留Grid
内容中的CommandBar
,但是复制这个 CommandBar
并把它放到 Page.BottomAppBar
中,同时让它首先折叠起来,例如像这样:
<Page.BottomAppBar>
<CommandBar x:Name="AppCommandBarCopy" Visibility="Collapsed">
<CommandBar.PrimaryCommands>
<AppBarButton Name="SaveCopy"
Icon="Save"
Label="Save"></AppBarButton>
<AppBarButton Name="ClearCopy"
Icon="ClearSelection"
Label="Clear"></AppBarButton>
</CommandBar.PrimaryCommands>
</CommandBar>
</Page.BottomAppBar>
然后在后面的代码中,我们可以检测软键盘是否可见,如果键盘可见,则显示此文案;如果没有,请隐藏此副本,例如此处:
public SplitViewCommandBarKeyboard()
{
this.InitializeComponent();
InputPane.GetForCurrentView().Showing += OnKeyboardShowing;
InputPane.GetForCurrentView().Hiding += OnKeyboardHidding;
}
private void OnKeyboardHidding(InputPane sender, InputPaneVisibilityEventArgs args)
{
AppCommandBarCopy.Visibility = Visibility.Collapsed;
}
private void OnKeyboardShowing(InputPane sender, InputPaneVisibilityEventArgs args)
{
AppCommandBarCopy.Visibility = Visibility.Visible;
}