Windows runtime WinRT AppBar在上下文中更改(或忽略右键单击)?

Windows runtime WinRT AppBar在上下文中更改(或忽略右键单击)?,windows-runtime,contextmenu,appbar,Windows Runtime,Contextmenu,Appbar,我正在将一个桌面WPF应用程序移植到WinRT,我面临一个小问题 我有一个ItemsControl,每个项目上都有一个上下文菜单来删除/编辑该项目 我被告知弹出菜单在WinRT中不好,我应该使用AppBar 我想我做错了什么,或者我误解了 我想我可以把这些选项放在应用程序栏上,当我选择一个元素时,弹出该栏并单击我需要的地方 问题是,当我右键单击应用程序的任何部分时,AppBar将显示,这样按钮将显示选中的项目 因此,我可以在不同的上下文中更改AppBar的布局(因为Microsoft似乎希望我们

我正在将一个桌面WPF应用程序移植到WinRT,我面临一个小问题

我有一个ItemsControl,每个项目上都有一个上下文菜单来删除/编辑该项目

我被告知弹出菜单在WinRT中不好,我应该使用AppBar

我想我做错了什么,或者我误解了

我想我可以把这些选项放在应用程序栏上,当我选择一个元素时,弹出该栏并单击我需要的地方

问题是,当我右键单击应用程序的任何部分时,AppBar将显示,这样按钮将显示选中的项目

因此,我可以在不同的上下文中更改AppBar的布局(因为Microsoft似乎希望我们使用AppBar作为上下文菜单,而不使用上下文功能),还是只在我需要通过代码时显示它

最好有一个带有一些应用程序范围选项的TopAppBar和一个只用于ListView项目上下文菜单的BottomAppBar


或者可能我做的这些事情都错了,我不得不使用另一种方法在Listview的项目上添加额外的选项。

您的想法是正确的
AppBar
是放置所有非必需和基于选择的命令的地方

这些指导方针和建议应安排如下:

  • 导航命令应位于
    TopAppBar
  • 与选择相关的命令应位于
    BottomAppBar的左侧
  • 页面特定命令的其余部分应位于
    BottomAppBar
仅当选择了与该命令相关的项目时,才应显示上下文命令。为此,您应该相应地设置这些命令的可见性。此外,当选中包含上下文命令的项目时,
AppBar
应自动打开。您可以通过设置其
IsOpen
属性以编程方式执行此操作。您还应该通过
IsSticky
属性将其设置为粘性模式

如果您使用的是MVVM,则可以将viewmodel属性绑定到上面提到的所有
按钮
AppBar
属性


中提供了一个
CustomAppBar
控件。我自己还没有使用过它,但它有一些额外的功能,可能对您的情况很有用。

您的想法是正确的
AppBar
是放置所有非必需和基于选择的命令的地方

这些指导方针和建议应安排如下:

  • 导航命令应位于
    TopAppBar
  • 与选择相关的命令应位于
    BottomAppBar的左侧
  • 页面特定命令的其余部分应位于
    BottomAppBar
仅当选择了与该命令相关的项目时,才应显示上下文命令。为此,您应该相应地设置这些命令的可见性。此外,当选中包含上下文命令的项目时,
AppBar
应自动打开。您可以通过设置其
IsOpen
属性以编程方式执行此操作。您还应该通过
IsSticky
属性将其设置为粘性模式

如果您使用的是MVVM,则可以将viewmodel属性绑定到上面提到的所有
按钮
AppBar
属性

中提供了一个
CustomAppBar
控件。我自己还没有使用过它,但它有一些额外的功能,可能会在您的情况下被证明是有用的