【问题标题】:C# XAML ScrollViewer to work without MaxHeightC# XAML ScrollViewer 在没有 MaxHeight 的情况下工作
【发布时间】:2013-08-25 04:18:28
【问题描述】:

我有一个网格,再往下有一个 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 中的内容无法滚动。

您能否说明我的问题在哪里,以及如何解决这个问题?

【问题讨论】:

    标签: c# xaml


    【解决方案1】:

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

    【讨论】:

    • 是的。我记得。我读了一本书,他,作者,与方向有关。好吧,他为什么不解释得更好……还有什么是 DockPanel,我刚刚听说了。反正。让我现在试试。
    • 好吧...我已经尝试了方向,但它仍然无法正常工作。您实际上是指哪个 StackPanel,因为我有 2 个 StackPanel。
    • 正如我所说,放弃 StackPanel 并使用更合适的面板,例如 Grid 或 DockPanel。您可以have a look here 熟悉各种面板类型。
    • 太糟糕了,我认为它与 MaxWeight 或重量有关。我猜它只是一英寸的解决方案。而且,DockPanel 不可用。或者它是?因为我正在为 Windows 8 Modern App 编写代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 2019-01-03
    • 1970-01-01
    相关资源
    最近更新 更多