我正在将桌面WPF应用程序移植到WinRT,我面临一个小问题。
我有一个ItemsControl,每个项目都有一个上下文菜单,用于删除/编辑项目。
我被告知PopupMenu在WinRT方面不好用,我应该使用AppBar。
我认为我做错了什么或者我误解了。
我认为我可以将这些选项放在AppBar上,当我选择一个元素时,弹出栏并点击我需要的地方。
问题是当我右键点击我的应用程序的任何部分时,AppBar会出现,这样按钮就会显示所选的项目。
那么我可以在不同的上下文中更改AppBar的布局(因为看起来Microsoft希望我们使用AppBar作为没有上下文功能的上下文菜单)或者只在需要时通过代码显示它吗?
将TopAppBar与一些应用程序范围的选项和BottomAppBar一起用于ListView的项目上下文菜单会很好。
或许我正在做所有这些错误,我必须使用另一种方法在Listview的项目上添加额外的选项。
答案 0 :(得分:3)
你正在考虑这个问题。 AppBar
是您应该放置所有非必要和基于选择的命令的地方。
TopAppBar
BottomAppBar
BottomAppBar
只有在选择了该命令的相关项目时,才应显示上下文命令。为此,您应相应地设置Visibility
这些命令。当选择了包含上下文命令的项目时,AppBar
也应自动打开。您可以通过设置其IsOpen
属性以编程方式执行此操作。您还应通过IsSticky
属性将其设置为粘性模式。
如果您正在使用MVVM,则可以将viewmodel属性绑定到上面提到的所有Button
和AppBar
属性。
WinRT XAML Toolkit中有一个CustomAppBar
控件。我自己还没有使用它,但它有一些额外的功能可能对你的情况有用。