[英]WPF: ScrollViewer total content height
我正在使用WPF应用程序。 这是我的界面:
<ScrollViewer x:Name="ScrollView" CanContentScroll="True">
<RichTextBox Padding="10" x:Name="TextArea" Background="Transparent" Opacity="0.95" />
</ScrollViewer>
我想将一个文本文件加载到RichTextBox中,该文本文件的大小大于屏幕的大小,然后找出滚动查看器内容的总大小(即,我可以实际滚动多远)。 在文档中说:
ScrollViewer.ExtentHeight属性
一个Double,代表范围的垂直大小。 默认值为0.0。
如果CanContentScroll为true,则ExtentHeight,ScrollableHeight,ViewportHeight和VerticalOffset属性的值为项目数。 如果CanContentScroll为false,则这些属性的值为“设备无关像素”。
如果理解正确的话,该文档说, ExtentHeight
应该给我我的内容的高度内容大小的单位,如果CanContentScroll
是true
。 我的RichTextBox是滚动视图的内容。 因此,例如,如果我的RichTextBox长为1000像素,并且在屏幕上可见500像素,则ExtentHeight
应该为2。但是,当我加载一个完全适合ScrollViewer
而不滚动的空RichEditBox
, ActualHeight
等于567, ExtentHeight
等于37.96,这对我来说毫无意义。 我希望等于或小于1,然后等于1。那么如何在ScrollViewer中找到TextBox的总内容大小。
我认为问题的原因是我在ScrollViewer中有RichTextBox。 RichTextBox拥有自己的滚动功能,通过将其粘贴在ScrollViwer中,可以将所有内容混合在一起。 因此,我摆脱了ScrollViewver,仅将RichTextBox与它的HeightExtent属性一起使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.