如果其子菜单折叠,如何隐藏菜单项?

时间:2012-01-24 12:29:57

标签: c# wpf

enter image description here我有一个菜单如下:

 <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>

在运行时,我检查(在数据库中)是否显示子菜单并相应地显示它。但有时候,我必须隐藏所有的子菜单。在这种情况下,我需要隐藏菜单(产品)作为一个整体。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:1)

使用转换器绑定父菜单的Visibility属性。在转换器内部,检查其所有子菜单项是否已折叠。根据该结果,返回“Collapsed”或“Visible”。

如果您还没有遇到过转换器,这里有一个如何创建转换器的教程。 http://www.switchonthecode.com/tutorials/wpf-tutorial-binding-converters