如何在WPF网格控件中使用自动行高,但是将其限制为网格不会完全滚动的程度?
这是我的用户界面:
ListView应该是自动调整大小的,因此它只需要占用项目行的空间。添加行时,ListView的高度会增加。
ListView下方的按钮应直接保留在ListView下,两者之间没有可变间隙。 ListView和Buttons之间的空格应始终精确为6像素,以命名值。
随着更多项目添加到ListView,按钮向下移动ListView的高度。当窗口不够大而无法全部显示时,按钮必须在可用空间的最底部保持可见,并且ListView应开始滚动其内容。
所以使用一个简短的列表,就像这样:网格的所有行都是自动高度,底部有很多空白空间。使用长列表,就像中间行是1 * - 高,网格跨越整个窗口,按钮在底部可见,列表跨越剩余空间,自动滚动其内容。
我该怎么做?
我找到了RowDefinition.MaxHeight属性,但它不接受* height。否则我会尝试这样的事情:
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto" MaxHeight="*"/>
<RowDefinition Height="Auto"/>
答案 0 :(得分:0)
除了秒之外,您可以为所有RowDefinition设置固定高度和minheight,并在ListView周围放置一个scrollviewer。
编辑:好的,没有滚动查看器,ListView可以单独滚动其内容。