【发布时间】:2011-03-03 10:04:16
【问题描述】:
我在 Window.Resource 部分中定义了一个 ContextMenu 和一个 ColumnHeaderStyle,我将其用于 DataGrid ColumnHeader。我的代码是这样的:
<ContextMenu x:Key="cm_columnHeaderMenu"/>
<Style x:Key="DefaultColumnHeaderStyle" TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="ContextMenu" Value="{StaticResource cm_columnHeaderMenu}" />
</Style>
<DataGrid Grid.Column="2" Grid.Row="1" x:Name="dgridFiles" IsReadOnly="True"
ColumnHeaderStyle="{StaticResource DefaultColumnHeaderStyle}">
我想知道我是否可以(如果答案是真的,那么我该怎么做)将 ContextMenu Visibility 属性绑定到同一个控件 ContextMenu Items.Count > 0 属性。
最初基于其他一些 treeView 控件选择,上下文菜单中应该没有项目,但我希望根据 treeView 中的选择在 ContextMenu 中添加动态项目。这部分完成了,上下文有这些项目。在某些选择中没有项目,但仍然在网格上显示一个空的 ContextMenu。所以我相信最简单的部分是将 Visibility 绑定到同一控件的 Items.Count 属性。
对不起,如果我的英语不够好,如果我第一次没有说清楚,我会尝试更好地解释。
【问题讨论】:
标签: c# wpf contextmenu bind visibility