<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>
我想对此菜单执行相同操作,但它需要高度,这意味着如果我向下拉伸页面,菜单大小将不会随页面延伸。当我没有在代码中加入高度时,不会出现菜单栏。我的问题是我怎么不需要菜单栏的宽度,但我需要一个高度。
提前致谢
答案 0 :(得分:2)
这是设计的。
菜单 bar 是假设在其所包含的控件中伸展的东西。这就是它不需要宽度的原因。
它需要一个高度,因为你可以在里面放任何内容。
拉伸高度不会对菜单控件有很多意义,因为如果WPF要为你绘制它,它只是背景颜色的一个大空白区域。