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

我想对这个菜单做同样的事情,但是它需要一个高度,这意味着如果我向下拉伸页面,菜单大小将不会随着页面而拉伸。当我没有在代码中输入高度时,不会出现菜单栏。我的问题是我为什么不需要菜单栏的宽度,但我需要一个高度。

提前致谢

4

1 回答 1

2

这是设计使然。

菜单被假定为跨越包含它的控件。这就是它不需要宽度的原因。

它需要一个高度,因为您可以在其中放置任何内容。

拉伸高度对于菜单控件没有太大意义,因为如果 WPF 为您绘制它,它只是其背景颜色的一大块空白区域。

于 2013-11-11T16:39:57.793 回答