如何在WPF Grid控件中使用自动行高,但将其限制为Grid不会完全滚动?WPF Grid:使用自动高度但阻止滚动
这里是我的UI:
- 第一排:自动高度,包含一个标签和文本输入(实际上还有更多的这些行)
- 第二行:包含灵活高度的ListView的,这取决于项目
- 第三行数字:自动高度,包含按钮来控制上述
ListView控件列表中的项目应该是自动调整大小,所以只需要这么多的空间,它的项目行。当添加一行时,ListView的高度会增加。
ListView下面的按钮应该直接位于ListView之下,两者之间没有可变间隙。 ListView和Buttons之间的空间应该始终为6像素,以命名一个值。
随着更多项目被添加到ListView,按钮向下移动ListView的高度。当窗口不够大而不能显示全部时,按钮必须在可用空间的最底部保持可见,并且ListView应该开始滚动其内容。
因此,与短名单,是这样的:在网格中的所有行自动高度,还有很多空的空间在底部。列表很长,就像中间一行是1 * - 高度,Grid跨越整个窗口,按钮在底部可见,列表跨越剩余空间,自动滚动其内容。
我该怎么做?
我发现RowDefinition.MaxHeight财产,但不接受*高度。否则,我会的东西试过这样:
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto" MaxHeight="*"/>
<RowDefinition Height="Auto"/>
放置ScrollViewer _around_ ListView非常丑陋,因为它会滚动列标题和整个控件边框! (至少我的逻辑说这会发生。)ListView可以滚动它的_content_本身,这是预期的行为。 – ygoe
是的,当然......我忘了那个^^ –