WPF:ScrollViewer总内容高度

时间:2016-11-21 23:01:24

标签: c# wpf windows xaml scrollviewer

我正在开发一个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应该以内容大小为单位给出我内容的高度,如果CanContentScrolltrue。我的RichTextBox是滚动视图的内容。因此,如果我的RichTextBox长度为1000像素,屏幕上可见500像素,那么ExtentHeight应为2.但是,当我加载一个完全适合{{1}的空RichEditBox时没有滚动,ScrollViewer等于567,ActualHeight等于37.96,这对我没有意义。我希望if等于1或者小于1.那么如何在ScrollViewer中找到TextBox的总内容大小。

1 个答案:

答案 0 :(得分:0)

我认为我的问题的原因是我在ScrollViewer中有我的RichTextBox。 RichTextBox拥有自己的滚动功能,并且通过将其粘贴在ScrollViwer中,它完全混淆了。所以我摆脱了ScrollViewver,只使用了RichTextBox和HeightExtent属性。