c# - 取决于列表框项目类型的上下文菜单

标签 c# wpf listbox contextmenu converters

选择 ContextMenu 是个好主意吗?的 ListBox项目通过 Converter或者有更好的方法吗?

为了清楚起见,我将描述我的情况:

我有一个列表框控件。作为此 Lisbox 的 ItemsSourceObservableCollection<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/

相关文章:

c# - 如何将常规文本附加到已经具有绑定(bind)到其文本属性的 TextBlock?

wpf - 指定具有文本和绑定(bind)路径混合的按钮内容

c# - 没有很好地使用 asp 列表框

c# - 策略工厂模式的 autofac 配置(已经解决)

C# 字典计算组值的总和

c# - 非泛型类中的泛型方法?

wpf - WPF MVVM 中 DataGrid DataTemplate 组合框中的 IsDropDownOpen

c# - 如何防止在单行 if 语句之间放置空行?

vba - 在列表框vba中找到所选项目的行#

c# 在列表框中添加或删除数据