我正在开发一个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.但是,当我加载一个完全适合{{1}的空RichEditBox
时没有滚动,ScrollViewer
等于567,ActualHeight
等于37.96,这对我没有意义。我希望if等于1或者小于1.那么如何在ScrollViewer中找到TextBox的总内容大小。
答案 0 :(得分:0)
我认为我的问题的原因是我在ScrollViewer中有我的RichTextBox。 RichTextBox拥有自己的滚动功能,并且通过将其粘贴在ScrollViwer中,它完全混淆了。所以我摆脱了ScrollViewver,只使用了RichTextBox和HeightExtent属性。