1

再現しやすいです。新しいプロジェクトを作成して、次のコードを貼り付けるだけです。

<StackPanel Grid.Row="0" Name="Header" Height="0">
    <TextBlock Text="This text is hidden" />
    <ScrollViewer>
        <TextBlock Margin="2" TextWrapping="Wrap" FontSize="32" Text="This text isn't."/>
    </ScrollViewer>
</StackPanel>

問題は、スタクトパネルの高さが0であるため、コンテンツが表示されないことになっていることです。
どうすれば修正できますか?

4

3 に答える 3

0

StackPanel の高さがゼロになると、ScrollViewer とそのコンテンツを非表示にしようとしているようです。その場合は、StackPanel の SizeChanged イベントをトリガーして、Scrollviewer を表示または非表示にする必要があるときに処理します。

    private void Header_SizeChanged(object sender, SizeChangedEventArgs e)
    {
        if (Header.Height.Equals(0))
        {
            scroller.Visibility = System.Windows.Visibility.Collapsed;
        }
        else
        {
            scroller.Visibility = System.Windows.Visibility.Visible;
        }
    }
于 2013-03-10T08:53:14.380 に答える
0

非表示にする場合は、代わりにStackPanelに設定VisibilityCollapsedます。ScrollViewerまたは、特定の場合に見えないようにしたいですか?

于 2013-02-23T22:47:17.497 に答える
0

設定をいじるだけ。
を追加することでCacheMode="BitmapCache"機能することがわかりましたStackpanel
グーグルで調べたところ、パフォーマンスを考慮すると、この方法はお勧めできません。
まだ適切な答えを探しています;)

于 2013-02-23T10:52:14.977 に答える