如何向数据绑定创建的菜单项添加单击处理程序?
现在是详细信息...
首先,如果这是我第一次遇到 WPF,那么请原谅我遗漏了一些明显的东西等。
我所拥有的是一个菜单,其中菜单项绑定到 DataView,每个菜单项都是 DataView MenuItem 文本中的一行设置为行中的字段...菜单填充得很好,我可以看到那里列出的所有行!但是当点击时什么也没有发生。
我的问题是如何将单击事件分配给菜单项,下面是父菜单项的 ItemPresenter 的 XAML
<MenuItem Name="mnuRowsDropDown" Header="All Rows ▼"
Height="23"
Loaded="mnuNotesDropDown_Loaded" ItemsSource="{Binding Path=Title, Mode=OneWay}" >
<MenuItem.ItemContainerStyle>
<Style>
<Setter Property="MenuItem.Header" Value="{Binding Title}"/>
<!--<Setter Property="MenuItem.Click" Value="" />-->
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
</MenuItem>
如您所见,我评论了单击代码,因为设计说这是一个错误
and now the details...
First if all this is my first encounter with WPF so please forgive I am missing something obvious etc.
What I have is a Menu with Menu Items bound to a DataView each menu item is a Row in DataView MenuItem Text is set to a Field in Row... menu is populated well and I can see all rows listed there! but when clicked nothing happens.
My Problem is how I can assign a click event to Menu Item, below is the XAML of ItemPresenter of parent menuitem
<MenuItem Name="mnuRowsDropDown" Header="All Rows ▼"
Height="23"
Loaded="mnuNotesDropDown_Loaded" ItemsSource="{Binding Path=Title, Mode=OneWay}" >
<MenuItem.ItemContainerStyle>
<Style>
<Setter Property="MenuItem.Header" Value="{Binding Title}"/>
<!--<Setter Property="MenuItem.Click" Value="" />-->
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
</MenuItem>
As you can see here I commented the Click Code because designed said it is an error
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有一个特殊的设置器,名为
EventSetter
,请使用它。 (动态创建MenuItems
时,可能需要使用 命令 相反,因为这些命令可以轻松地包含在您用于绑定的对象中以及标题中)There's a special setter for that called
EventSetter
, use that instead. (When creatingMenuItems
dynamically it may be of interest to use commands instead as those can easily be included in the object you use for the binding along with the Header)