文本框上下文菜单阻止显示AppBar

本文关键字:显示 AppBar 菜单 上下文 文本 | 更新日期: 2023-09-27 18:12:02

考虑以下页面:

<Page ... >
<Grid>
    <TextBox AcceptsReturn="True" />
</Grid>
<Page.BottomAppBar>
    <AppBar>
        <Grid>
            <StackPanel Orientation="Horizontal">
                <Button Content="Test 1" />
                <Button Content="Test 2" />
            </StackPanel>
        </Grid>
    </AppBar>
</Page.BottomAppBar>
</Page>

所以,这是文本框和底部的应用程序栏。现在,当我在台式计算机上运行这个商店应用程序时,我所知道的激活这个栏的唯一方法是在窗口中右键单击。然而,文本框内置的上下文菜单显示,阻止了栏的激活。只有当程序刚刚启动,并且文本框中没有任何操作时,应用程序栏才能通过右键单击激活。

在这种情况下有没有办法显示应用程序栏?

文本框上下文菜单阻止显示AppBar

可以使用TextBoxContextMenuOpening事件。在该事件中打开底部栏

private void TextBox_ContextMenuOpening_1(object sender, ContextMenuEventArgs e)
{
    BottomAppBar.IsOpen = true;
    e.Handled = true; //True only if you don't want to show context menu of textbox.
}