Correct way to set ScrollViewer (for vertical scrolling) on a WPF Frame?
有谁知道在这样的框架上定义垂直滚动条的区别:
1 2 3 4 | <ScrollViewer Grid.Row="2" VerticalScrollBarVisibility="Auto"> <Frame Name="Frame1" ScrollViewer.CanContentScroll="True" /> </ScrollViewer> |
或像这样:
1 2 3 4 5 | <ScrollViewer Grid.Row="2"> <Frame Name="Frame1" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.CanContentScroll="True" /> </ScrollViewer> |
该框架嵌套在WebBrowser控件中,并通过第一种方式对其进行设置以正确显示垂直滚动条,并且仅在需要滚动(自动)时才可见。 当我以第二种方式设置它时,垂直滚动条可以工作,但是即使不需要滚动(可见)也始终可见。
我将使用第一个选项,因为它可以满足我的需求,但是如果我设置不正确,我不会感到意外。
谢谢!
当使用
1 2 3 | <ScrollViewer Margin="225.667,-4,0,296.939" HorizontalAlignment="Left" Width="221.667"> <Frame Content="Frame" ScrollViewer.CanContentScroll="True" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.VerticalScrollBarVisibility="Hidden" Source="UserControl2.xaml" Background="#FFDE5454"/> </ScrollViewer> |
在上面的示例中,我同时使用了
这就是为什么这是您应该使用的原因
1 2 3 | <ScrollViewer Grid.Row="2" VerticalScrollBarVisibility="Auto"> <Frame Name="Frame1" /> </ScrollViewer> |
例如,当您使用ListBox尝试此操作时,结果将有所不同。
这是以下代码的结果:
1 2 3 | <ScrollViewer Margin="225.667,0,0,12.761" Height="280.178" VerticalAlignment="Bottom" HorizontalAlignment="Left" Width="221.667"> <ListBox ScrollViewer.CanContentScroll="True" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Visible" Background="Orange" ItemsSource="{Binding Collection}" DisplayMemberPath="Property1" /> </ScrollViewer> |
这是因为这些附加属性现在会影响
因此,从这个小实验中,我假定