选择 ContextMenu
是个好主意吗?的 ListBox
项目通过 Converter
或者有更好的方法吗?
为了清楚起见,我将描述我的情况:
我有一个列表框控件。作为此 Lisbox 的 ItemsSource 是 ObservableCollection<MyClass>
我已经将列表框的 ItemContainerStyle 的 ContextMenu 设置为如下所示:
<Setter Property="ContextMenu" Value="{Binding Converter={StaticResource contextMenuConverter}}"/ >
在 ContextMenuConverter 中,我检查了 MyClass 类的一些属性并选择 ContextMenu
相应地。
最佳答案
呃,不,那实际上相当不错。
另一种选择是将 SelectedItem
绑定(bind)到您的 ViewModel
,将 ContextMenu
属性绑定(bind)到相同的属性,并返回一个新的 ContextMenu
每当 SelectedItem
更改时,基于 SelectedItem
。
但是,坦率地说,我更喜欢您的解决方案。它更清洁。
关于c# - 取决于列表框项目类型的上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13972517/