高度和宽度与菜单

时间:2013-11-11 16:34:51

标签: c# wpf

                    <Menu Height="50" Margin="0,0,0,0" HorizontalAlignment="Stretch" FlowDirection="RightToLeft">
                        <Menu.Background>
                            <LinearGradientBrush EndPoint="0,0" StartPoint="0,1">
                                <GradientStop Color="#FFB3DDF2" Offset="1.0"/>
                                <GradientStop Color="#FFD6E9F4" Offset="0.0"/>
                            </LinearGradientBrush>
                        </Menu.Background>
                    </Menu>

无论页面有多长并且不需要宽度,此菜单都会拉伸。

                    <Menu Width="350" Margin="0,0,0,0" VerticalAlignment="Stretch" HorizontalAlignment="Left" FlowDirection="RightToLeft" DockPanel.Dock="Bottom">
                        <Menu.Background>
                            <LinearGradientBrush EndPoint="0,0" StartPoint="0,1">
                                <GradientStop Color="#FFD6E9F4" Offset="1.0"/>
                                <GradientStop Color="White" Offset="0.0"/>
                            </LinearGradientBrush>
                        </Menu.Background>
                    </Menu>

我想对此菜单执行相同操作,但它需要高度,这意味着如果我向下拉伸页面,菜单大小将不会随页面延伸。当我没有在代码中加入高度时,不会出现菜单栏。我的问题是我怎么不需要菜单栏的宽度,但我需要一个高度。

提前致谢

1 个答案:

答案 0 :(得分:2)

这是设计的。

菜单 bar 是假设在其所包含的控件中伸展的东西。这就是它不需要宽度的原因。

它需要一个高度,因为你可以在里面放任何内容。

拉伸高度不会对菜单控件有很多意义,因为如果WPF要为你绘制它,它只是背景颜色的一个大空白区域。