Wpf ScrollViewer显示两个滚动条
我正在尝试创建一个简单的日志可视化工具,因此我执行了以下操作:Wpf ScrollViewer显示两个滚动条,wpf,Wpf,我正在尝试创建一个简单的日志可视化工具,因此我执行了以下操作: <ScrollViewer> <TextBox TextWrapping="Wrap" AcceptsReturn="True" Height="240" IsReadOnly="True" ScrollViewer.HorizontalScrollBarVisibility="Disabled" Scro
<ScrollViewer>
<TextBox TextWrapping="Wrap" AcceptsReturn="True" Height="240" IsReadOnly="True"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True"
/>
</ScrollViewer>
ScrollViewer在一个GroupBox中,我可以在代码后面正确地管理它,但问题是我有以下UI结果:
你可以看到我有一个内部的滚动条(可以正常工作)和一个外部的滚动条,那就是ScrollViewer
这很奇怪,wpf不会自动只使用一个滚动条吗?如何隐藏外部滚动条,或者无论如何,只显示控件的一个滚动条
谢谢。如果固定高度的
文本过多,两个滚动条都可见
尝试设置ScrollViewer的高度
<ScrollViewer Height="240">
<TextBox TextWrapping="Wrap" AcceptsReturn="True" IsReadOnly="True"
HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True"/>
</ScrollViewer>
或者完全删除ScrollViewer
<TextBox TextWrapping="Wrap" AcceptsReturn="True" Height="240" IsReadOnly="True"
HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True"/>
如果固定高度的文本过多,则两个滚动条都可见
尝试设置ScrollViewer的高度
<ScrollViewer Height="240">
<TextBox TextWrapping="Wrap" AcceptsReturn="True" IsReadOnly="True"
HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True"/>
</ScrollViewer>
或者完全删除ScrollViewer
<TextBox TextWrapping="Wrap" AcceptsReturn="True" Height="240" IsReadOnly="True"
HorizontalScrollBarVisibility="Disabled"
VerticalScrollBarVisibility="Auto"
ScrollViewer.CanContentScroll="True"/>
问题在于您在多行文本框的外部使用了滚动查看器
。ScrollViewer
包含一组UI元素,否则会占用大量空间。我能做的最好的比较就是一个网页。浏览器充当滚动查看器,网页是内容
如果您只需要文本框
,则不需要滚动查看器
。但是,如果您确实想使用ScrollViewer
,这将在不需要滚动条时取消滚动条:
<ScrollViewer HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Auto" CanContentScroll="True">
<TextBox TextWrapping="Wrap" AcceptsReturn="True" Height="240" IsReadOnly="True" VerticalScrollBarVisibility="Auto" />
</ScrollViewer>
问题在于您在多行文本框的外部使用了滚动查看器
。ScrollViewer
包含一组UI元素,否则会占用大量空间。我能做的最好的比较就是一个网页。浏览器充当滚动查看器,网页是内容
如果您只需要文本框
,则不需要滚动查看器
。但是,如果您确实想使用ScrollViewer
,这将在不需要滚动条时取消滚动条:
<ScrollViewer HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Auto" CanContentScroll="True">
<TextBox TextWrapping="Wrap" AcceptsReturn="True" Height="240" IsReadOnly="True" VerticalScrollBarVisibility="Auto" />
</ScrollViewer>
为什么不直接跳过