如何按比例调整WPF Listview的大小?

2024-03-20

我在调整 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(使用前将#替换为@)

如何按比例调整WPF Listview的大小? 的相关文章

随机推荐