0

私はこのような構造のアプリを持っています(ここでFrame、コンテンツはPageegに設定されていMyPageます:

MainWindow.xaml

<Window ... Height="450" Width="800">
    <Grid>
        <ScrollViewer VerticalScrollBarVisibility="Auto">
            <Frame NavigationUIVisibility="Hidden" Source="Page1.xaml"/>
        </ScrollViewer>
    </Grid>
</Window>

MyPage.xaml

<Page ...>
    <Grid Background="GhostWhite">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="300"/>
            <ColumnDefinition Width="*"/>
        </Grid.ColumnDefinitions>
        <Grid Background="Pink">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>
            <TextBlock Grid.Row="0">Title</TextBlock>
            <ScrollViewer Grid.Row="1" Background="Yellow" VerticalScrollBarVisibility="Auto">
                <StackPanel>
                    <Rectangle Margin="10" Fill="Red" Width="250" Height="100"/>
                    <Rectangle Margin="10" Fill="Red" Width="250" Height="100"/>
                    <Rectangle Margin="10" Fill="Red" Width="250" Height="100"/>
                    <Rectangle Margin="10" Fill="Red" Width="250" Height="100"/>
                </StackPanel>
            </ScrollViewer>
        </Grid>
    </Grid>
</Page>

Visual Studio では、ページは次のようにレンダリングされ、左側のパネル内にスクロールバーが表示されます。

ページのプレビュー

ただし、コンパイル時に実際に発生するのは、ページがScrollViewコンテンツのすべてのスペースを占めるように拡大さScrollViewれ、メイン ウィンドウからスクロールバーが表示されることです。このような:

ここに画像の説明を入力

ScrollView内部が親グリッドを超えて成長しないようにするにはどうすればよいですか?

私はそれに固定の高ScrollViewさを与えることができることを知っていますが、それは私が望むものではありません.親のGridScrollViewGridHeightActualHeightRowDefinitionGrid

4

1 に答える 1