C#XAML ScrollViewer无需MaxHeight即可工作

时间:2013-08-24 19:51:50

标签: c# xaml

我有一个网格,下面有一个StackPanel。我已经将行的高度定义为最后一行为“*”,并且在最后一行中,StackPanel和所有控件都将存在。

所以我在我的StackPanel的XAML中有以下代码

<StackPanel Grid.Row="1" MaxHeight="333">
        <StackPanel MaxHeight="333">
        <ScrollViewer MaxHeight="333">
            <TextBlock x:Name="lblRouteDetail" FontSize="35" TextWrapping="Wrap"/>
        </ScrollViewer>
        </StackPanel>
</StackPanel>

嗯,它有效,只是我必须约束MaxHeight是333,没有它,它将无法工作; ScrollViewer不起作用,TextBlock中的内容将无法滚动。

你能说出我的问题在哪里,以及如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

StackPanel,除非设置为特定高度(如果其方向设置为Horizontal,则为宽度),不会限制其子项的高度,而是根据它们调整大小。如果您想要滚动控件,可以保留MaxHeight属性或使用其他面板来保留它们,例如GridDockPanel