我正在尝试创建一个简单的日志可视化工具,因此我执行了以下操作:
<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不会自动只带一个卷轴吗?如何隐藏外部滚动条,或者无论如何只显示一个用于控件的滚动条?
感谢。
答案 0 :(得分:2)
如果固定Text
Height
太多,则可以看到两个滚动条
尝试为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"/>
答案 1 :(得分:0)
问题是您在多行ScrollViewer
外部使用TextBox
。 ScrollViewer
意味着包含一堆UI元素,否则这些元素会占用大量空间。我能做的最好的比较是一个网页。浏览器充当ScrollViewer,网页就是内容。
如果您只需要TextBox
,则不需要ScrollViewer
。但是,如果您确实想要使用ScrollViewer
,则在不需要时将删除滚动条:
<ScrollViewer HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Auto" CanContentScroll="True">
<TextBox TextWrapping="Wrap" AcceptsReturn="True" Height="240" IsReadOnly="True" VerticalScrollBarVisibility="Auto" />
</ScrollViewer>