(Stack-)Panel 内的 ScrollViewer
ScrollViewer inside (Stack-)Panel
我正在与 StackPanel 中的 ScrollViewer 打架。 ScrollViewer 仅显示一个滚动条,具体取决于 StackPanel 的方向,我的理解是 StackPanel 认为在该方向上是无限的。因此,我试图通过将 ScrollViewer 绑定到 StackPanel 的宽度和高度来限制它的大小。当应用程序启动时,它会显示两个滚动条,但它们不会正确调整大小。哪里错了,我该怎么办。
(备注:我知道我可以使用 Grid 而不是 StackPanel 并且 ScrollViewer 的行为符合预期。但是一旦我将该 Grid 放入 StackPanel 中,问题再次出现。)
<Window x:Class="tt_WPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="500" Width="500">
<StackPanel x:Name="sp" Orientation="Horizontal">
<ScrollViewer
HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"
Width="{Binding ElementName=sp, Path=ActualWidth}"
Height="{Binding ElementName=sp, Path=ActualHeight}">
<Button Background="LightCoral" Width="500" Height="500">Hey</Button>
</ScrollViewer>
</StackPanel>
我遇到了同样的问题,我通过切换stackpanel和scrollviewer解决了。
滚动查看器在垂直 StackPanel 中毫无用处。垂直 StackPanel 的高度设置为无穷大,因此 ScrollViewer 具有它想要的所有大小,并且永远不会显示滚动条。您应该切换到 Grid 或 DockPanel。
我正在与 StackPanel 中的 ScrollViewer 打架。 ScrollViewer 仅显示一个滚动条,具体取决于 StackPanel 的方向,我的理解是 StackPanel 认为在该方向上是无限的。因此,我试图通过将 ScrollViewer 绑定到 StackPanel 的宽度和高度来限制它的大小。当应用程序启动时,它会显示两个滚动条,但它们不会正确调整大小。哪里错了,我该怎么办。
(备注:我知道我可以使用 Grid 而不是 StackPanel 并且 ScrollViewer 的行为符合预期。但是一旦我将该 Grid 放入 StackPanel 中,问题再次出现。)
<Window x:Class="tt_WPF.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="500" Width="500">
<StackPanel x:Name="sp" Orientation="Horizontal">
<ScrollViewer
HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"
Width="{Binding ElementName=sp, Path=ActualWidth}"
Height="{Binding ElementName=sp, Path=ActualHeight}">
<Button Background="LightCoral" Width="500" Height="500">Hey</Button>
</ScrollViewer>
</StackPanel>
我遇到了同样的问题,我通过切换stackpanel和scrollviewer解决了。
滚动查看器在垂直 StackPanel 中毫无用处。垂直 StackPanel 的高度设置为无穷大,因此 ScrollViewer 具有它想要的所有大小,并且永远不会显示滚动条。您应该切换到 Grid 或 DockPanel。