我有一个具有这样结构的应用程序(其中Frame
的内容设置为Page
例如MyPage
:
主窗口.xaml
<Window ... Height="450" Width="800">
<Grid>
<ScrollViewer VerticalScrollBarVisibility="Auto">
<Frame NavigationUIVisibility="Hidden" Source="Page1.xaml"/>
</ScrollViewer>
</Grid>
</Window>
我的页面.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
a包装起来Grid
并将 the 的高度绑定ScrollView
到 thatGrid
的Height
和ActualHeight
属性,以及与的相同属性RowDefinition
父母的Grid