适合WPF列表框项目大小以适合窗口

时间:2015-06-17 12:59:40

标签: c# wpf xaml listbox

我有带有ListBox的WPF窗口,其中包含TextBlock的项目。 每个TextBlock都有不同的字体大小和文本长度。 当我填写我的收藏集时,它会包含用于查看结果的滚动条。

适合ListBox的最佳方法是什么(适合缩放)以适应ListBox,它会在不滚动的情况下显示当前窗口中的所有项目?
(当ScrollViewer.Horizo​​ntalScrollBarVisibility ="已禁用"以及ScrollViewer.VerticalScrollBarVisibility ="已禁用")

是否有任何WPF方式或某种算法可以这样做?

1 个答案:

答案 0 :(得分:0)

我之前遇到了与您类似的问题,并且只能使用ViewBox来解决它。

<ViewBox Stretch="Uniform">
    <ListBox>...</ListBox>
</ViewBox>

如果需要,您还可以将给定控件的某个维度与另一个维度绑定,例如:

<ViewBox x:Name="vb" Stretch="Uniform">
    <ListBox Width={Binding ActualWidth, ElementName=vb>...</ListBox>
</ViewBox>    

但是由于每种容器类型的不同布局特征(如果它扩展或缩小,或者它是否告诉其子项扩展),您必须尝试不同的方法,直到布局按预期工作。