对于我的 C# WPF 项目,我必须创建一个带有布局的菜单状态。这是菜单状态的图像示例 this .
所以,我的问题是,当我调整窗口大小并且组件像原型(prototype)中一样排列时,我应该使用哪种布局来使我的组件可扩展?到目前为止,我已经使用了网格布局,但我不确定这是否是像原型(prototype)图像中那样排列组件的方法。
最佳答案
理想情况下,对于堆叠相同的组件,您可以使用堆栈面板,自动调整大小取决于面板的默认行为。
也就是说,水平堆栈面板仅在垂直方向上自动扩展,而垂直堆栈面板则在水平方向上扩展。
水平扩展的一些示例代码。
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<StackPanel>
<TextBlock Margin="5,0,5,60" HorizontalAlignment="Center">Title</TextBlock>
<Button>State</Button>
<Button>State</Button>
<Button>State</Button>
<Button>State</Button>
</StackPanel>
</Window>
如果您想让它们双向生长,最简单的方法是使用网格并将它们设置为成比例的大小。
请注意,组件内的文本不会自动增长。如果您需要,则必须使用 View 框。 How to grow/shrink a TextBlock (Font Size) to the available space in WPF?
关于c# - 允许控件正确缩放的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27472739/