调整控件大小与窗口大小同步

时间:2012-03-16 18:59:53

标签: c# wpf xaml

在过去的几天里,我一直在阅读几十个关于此的帖子。 我有几个WPF表单,我想使用大多数分辨率,这个问题是表单中的控件变得错位或在增加大小时看起来很糟糕。

目前我正在使用网格,这些都可以并且保持我的控件大部分就位,但它们需要花费时间(我有大约15个应用程序),并且只看起来类似于原始设计,例如一些控件看起来仍然很紧张,设计也会受到影响。

以下是我的一个网格的例子

<Grid.ColumnDefinitions>
    <ColumnDefinition Width="156*" />
    <ColumnDefinition Width="323*" />
</Grid.ColumnDefinitions>

<Grid.RowDefinitions>
    <RowDefinition Height="72" />
    <RowDefinition Height="49" />
    <RowDefinition Height="49" />
    <RowDefinition Height="43" />
    <RowDefinition Height="91" />
    <RowDefinition Height="90" />
    <RowDefinition Height="90" />
    <RowDefinition Height="92" />
    <RowDefinition Height="50*" />
</Grid.RowDefinitions>

我真正想要的是一个良好的布局和控制,以提供一个体面的用户界面,还有什么其他选择来调整窗口的内容?我甚至愿意回到Windows窗体,如果有更好的方法来做到这一点,因为网格似乎限制控制。我确实在寻找与应用程序最初具有的完全相同的外观,当它以默认分辨率(大约500x500)加载时会增加。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您的列和最后一行正在使用星形大小调整,这将导致单元格拉伸以填充可用空间。根据Horizo​​ntalAlignment和VerticalAlignment的值,在控件上(默认值因控件而异),它们可以拉伸以填充所有可用空间(或者它们可以居中,或仅在一个方向拉伸)。

我怀疑明星的尺寸是无意的,但它可能是你想要的,只是以不同的方式使用。您还可以找到“自动”大小调整有用。这里有一个关于网格大小选项的解释:http://blogs.msdn.com/b/wpfsldesigner/archive/2010/01/14/wpf-silverlight-layout-controls.aspx#grid