【发布时间】:2016-11-21 23:01:23
【问题描述】:
我正在开发 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,则这些值 属性是与设备无关的像素。
如果理解正确,文档是说如果CanContentScroll 是true,ExtentHeight 应该以内容大小为单位给出我的内容高度。我的 RichTextBox 是滚动视图的内容。因此,例如,如果我的 RichTextBox 长 1000 像素,并且在屏幕上可见 500 像素,那么 ExtentHeight 应该是 2。但是,当我加载一个空的 RichEditBox 时,它完全适合 ScrollViewer 而无需滚动,并且ActualHeight 等于 567,ExtentHeight 等于 37.96,这对我来说毫无意义。我希望是否等于 1 或小于 1。那么如何找到 ScrollViewer 中 TextBox 的总内容大小。
【问题讨论】:
标签: c# wpf windows xaml scrollviewer