我将 WPF 与 Caliburn 和 MVVM 模式一起使用,并且正在尝试设置动态上下文菜单。
目前我们有一个上下文菜单,它的项目绑定到 ViewModel 上的 BindableCollection。
<UserControl.ContextMenu>
<ContextMenu ItemsSource="{Binding AvailableActions}"
actions:Action.TargetWithoutContext="{Binding}"
ItemContainerStyleSelector="{StaticResource NamedActionStyleSelector}"/>
</UserControl.ContextMenu>
public BindableCollection<NamedAction> AvailableActions { get; set; }
此 BindableCollection 在程序运行期间通过以下方法在某些情况下更新(再次在视图模型上):
private void UpdateAvailableActions()
当前系统适用于大多数情况,但有一些边缘情况表明我们最好在右键单击事件后动态生成列表。
所以我的问题是,当用户右键单击时,任何人都可以帮助我以最佳方式调用更新方法(或编写将被调用的替代方法)。任何有关如何做到这一点的帮助将不胜感激。
谢谢