c# - 允许控件正确缩放的布局

标签 c# wpf layout

对于我的 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/

相关文章:

css - Flash 对象/嵌入中断布局

java - 在vaadin中调整CSS变化的选择方法是什么?

c# - 使用 HTMLAgilityPack 选择所有 <p >'s from a Node' s children

wpf - 如何在不破坏自动化测试的情况下为 TabControl 定义 ControlTemplate?

wpf - 如何将 TabControl 的选定值(标题)绑定(bind)到 View 模型上的属性

c# - 如何在 WPF 中仅在左侧和右侧指定矩形描边?

javascript - 是否可以通过 Jquery .ajax() 方法使用路径获取 webmethod 中的文件?

C# 使用 : this 初始化构造函数

c# - 在 C# 应用程序中使用 FastCGI 应用程序

html - CSS 流体布局缩放内容