如何使 wpf 行缩小以适合内容

Posted

技术标签:

【中文标题】如何使 wpf 行缩小以适合内容【英文标题】:How to make wpf row shrink to fit contents 【发布时间】:2010-08-12 15:52:22 【问题描述】:

我有一个两行网格加上一个网格拆分器。我希望默认情况下顶行的高度尽可能小(在这种情况下,按钮的高度)底行应该扩展以占用网格中的剩余空间。我希望那里的网格拆分器允许用户根据需要更改大小。

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition Height="5" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>

    <Button Grid.Row="0" Content="A little old button" VerticalAlignment="Center" />
    <GridSplitter Grid.Row="1" Background="Black" HorizontalAlignment="Stretch" />
    <TextBlock Grid.Row="2" TextWrapping="Wrap">
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Typi non habent claritatem insitam; est usus legentis in iis qui facit eorum claritatem. Investigationes demonstraverunt lectores legere me lius quod ii legunt saepius. Claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum. Mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum formas humanitatis per seacula quarta decima et quinta decima. Eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.
    </TextBlock>
</Grid>

我应该如何设置 xaml?

【问题讨论】:

【参考方案1】:
<RowDefinition Height="Auto" /> 

应该这样做。

【讨论】:

是否还有其他需要考虑的因素。在我的例子中,使用 Auto 的东西实际上得到了更多的传播。我尝试过使用 MinHeightMaxHeight 但并没有真正做到正确。我有一个带有堆栈面板的网格,每个堆栈面板都有一个标签和一个组合框。 (是的,我一直在尝试每种样式,包括行定义。) @KonradViltersten 您是否尝试过&lt;RowDefinition Height="*" /&gt; 用于必须自动扩展的行。

以上是关于如何使 wpf 行缩小以适合内容的主要内容,如果未能解决你的问题,请参考以下文章

如何使表格单元格根据内容缩小?

如何使 SwiftUI 滚动视图缩小到内容?

如何使 DockPanel 中的项目扩展以适应 WPF 中的所有可用空间?

WPF DataGrid:滚动时减小列宽以适合其内容

在 wpf 中,我如何使数据网格适合窗口高度

WPF 如何实现图片原比例缩小