我在调整 Listview 控件大小时遇到了一些问题。我打算根据窗口的实际大小按比例调整大小。
对于 Listview 的初始大小,其大小为 300 X 600(宽度 X 高度)(以像素为单位)。我也设置了它最大高度到 750,但其宽度保持不变,即 300。
另外,在Wondow的属性中,我已经改变了大小到内容财产给宽度和高度,正如一些线程建议的那样,您可以让系统在调整窗口大小后决定控件的正确大小。
然而,它还没有发挥作用。所以我来这里寻求帮助。谢谢。
附:无论如何,我们可以在WPF中设置宽度和高度的百分比值吗?如果允许我使用百分比,比如高度 = 80%,那就容易多了。
EDIT:
为了更清楚的说明,这里是xaml中的一般代码结构
<Grid Height="Auto">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="50" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal" Height="Auto" Margin="0">
<ListView />
</StackPanel>
<StackPanel Grid.Row="1" Orientation="Horizontal" Height="Auto" Margin="0">
<Label />
<Button />
</StackPanel>
</Grid>
如您所见,我当前使用 2 个堆栈面板并将它们放在单独的行中。但是即使我更改为Listview仍然无法按比例调整大小。
将 ListView 放入 Grid 中,并使用列的“*”宽度功能:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<ListView Grid.Column="0">...</ListView>
</Grid>
本例中第 0 列的宽度为“4*”,第 1 列的默认宽度为“1*”。这意味着它们之间共享“五颗星”的宽度,并且第 0 列占用了其中的四颗星。这给了你 80% 的宽度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)