【发布时间】:2011-05-02 10:23:12
【问题描述】:
如何向数据绑定菜单中的每个项目添加命令?基本上,我有这样的东西:
<MenuItem Header="View" ItemsSource="{Binding ...}" />
对于菜单中的每一项,我需要根据它的 DataContext 给它一个命令。我无法使用 ItemTemplate,因为模板位于生成的 MenuItem 容器中。哦,而且命令需要有输入手势,所以需要在菜单打开之前生成。
有没有更好的方法来做到这一点?也许我应该在代码隐藏中添加/删除项目?
【问题讨论】:
-
呃,你能举一个更好的例子吗?我不完全明白你到底想要什么
-
您可以尝试使用 CommandParameter 属性并将每个菜单项绑定到相同的命令。所以你可以根据不同的参数来实现执行的事件。
-
@Howard - 这比我接受的答案更干净,但是如何设置命令参数?
-
CommandParameter 是 MenuItem 中的一个属性。您可以设置修复参数,也可以绑定到您的动态参数。在执行的事件中,您可以访问您在此属性中设置的参数。
标签: .net wpf xaml data-binding menuitem