我有一个菜单如下:
<MenuItem Margin="10" x:Name="Products" Header="Products" FontFamily="Arial" VerticalAlignment="Center">
<MenuItem x:Name="ProdCodes" Header="Product Codes" Click="ProdCodes_Click" Visibility="Collapsed" />
<MenuItem x:Name="Formulations" Header="Formulation" Click="Formulation_Click" Visibility="Collapsed" />
<MenuItem x:Name="ProdGroupText" Header="Group Text" Click="ProdGroupText_Click" Visibility="Collapsed" />
</MenuItem>
在运行时,我检查(在数据库中)是否显示子菜单并相应地显示它。但有时候,我必须隐藏所有的子菜单。在这种情况下,我需要隐藏菜单(产品)作为一个整体。有没有办法实现这个目标?
答案 0 :(得分:1)
使用转换器绑定父菜单的Visibility属性。在转换器内部,检查其所有子菜单项是否已折叠。根据该结果,返回“Collapsed”或“Visible”。
如果您还没有遇到过转换器,这里有一个如何创建转换器的教程。 http://www.switchonthecode.com/tutorials/wpf-tutorial-binding-converters