JDL*_*JDL 12 wpf scrollbar frame webbrowser-control scrollviewer
有没有人知道在框架上定义垂直滚动条之间的区别如下:
<ScrollViewer Grid.Row="2" VerticalScrollBarVisibility="Auto">
<Frame Name="Frame1"
ScrollViewer.CanContentScroll="True" />
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)
或者像这样:
<ScrollViewer Grid.Row="2">
<Frame Name="Frame1"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True" />
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)
此框架嵌套在WebBrowser控件中,并以第一种方式设置它正确显示垂直滚动条,并且仅在需要滚动(自动)时才可见.当我以第二种方式设置垂直滚动条时,即使它不需要滚动(可见)也始终可见.
我将使用第一个选项,因为它符合我的需要,但如果我设置错误,我不想在路上感到惊讶.
谢谢!
Kap*_*íko 28
当您使用ScrollViewer.VerticalScrollBarVisibility
或ScrollViewer.HorizontalScrollBarVisibility
附加属性时,它对Frame没有影响.
<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>
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,我使用了两个ScrollViewer.VerticalScrollBarVisibility
和ScrollViewer.HorizontalScrollBarVisibility
附加属性.该代码的结果与您期望的完全相反.没有HorizontalScrollBar
可见......你仍然可以看到VerticalScrollBar
.
所以这就是你应该使用的原因
<ScrollViewer Grid.Row="2" VerticalScrollBarVisibility="Auto">
<Frame Name="Frame1" />
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)
当您使用ListBox尝试此操作时,结果将不同.
这是以下代码的结果:
<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>
Run Code Online (Sandbox Code Playgroud)
那是因为那些附加属性现在会影响ScrollViewer,ListBox
而不是ScrollViewer
您期望的父级.
因此,从这个小实验中我假设ScrollViewer.VerticalScrollBarVisibility
附加属性适用于您希望能够影响ScrollViewer
Control的模板中存在哪些而不是父模板的情况ScrollViewer
.所以我认为它不起作用,因为DockPanel.Dock
它对父母生效DockPanel
.