我正在使用 Microsoft.Phone.Controls.Toolkit 库中的 ContextMenu 类来为数据绑定 ListBox 实现自定义上下文菜单。XAML 的简化部分如下所示:
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu IsZoomEnabled="True" x:Name="contextMenuItems">
<toolkit:MenuItem x:Name="contextMenuItemPinToStart" Header="pint to start"/>
<toolkit:MenuItem Header="rename"/>
<toolkit:MenuItem Header="delete"/>
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
当此上下文菜单即将打开时,我需要动态禁用“pin to start”项。实现这个有一些问题:
- 我们没有相应的 OnShow 事件。
- 我无法检索显示上下文菜单的列表项(很可能,这一点取决于上一个问题的答案)。
- 我无法通过名称 (contextMenuItemPinToStart) 访问上下文菜单项来设置其 IsEnabled 属性。
谁能告诉我一个合适的解决方案?