我正在使用微软新的WPF功能区(2010年10月发布),我使用RibbonApplicationSplitMenuItem
设计了我的应用程序菜单。如果用户点击RibbonApplicationSplitMenuItem
,我想打开程序设置对话框。子项包含指向设置对话框中各种选项卡页面的直接链接,我想打开所选页面的设置对话框。
<ribbon:RibbonApplicationSplitMenuItem
Header="Settings"
x:Name="SettingsItem"
Click="settingsClicked"
>
<ribbon:RibbonApplicationMenuItem
Header="Scanner Settings"
x:Name="scannerSettingsItem"
Click="scannerSettingsClicked"
/>
<ribbon:RibbonApplicationMenuItem
Header="Printer Settings"
x:Name="printerSettingsItem"
Click="printerSettingsClicked"
/>
</ribbon:RibbonApplicationSplitMenuItem>
我的问题是,当用户点击例如。 “扫描仪设置”子项目,首先执行scannerSettingsClicked()
回调,然后执行settingsClicked()
回调,导致设置对话框在关闭后第二次显示。
Visual Studio的WPF设计器中的属性窗口也拒绝显示回调订阅,除非删除父项的回调或所有子项的回调,所以我想我一定做错了。
如何实现理想的行为?
答案 0 :(得分:1)
在您的子项目点击事件中,设置e.Handled = true
以防止事件冒泡回到父项目。