【发布时间】:2021-01-17 21:16:27
【问题描述】:
我创建了一个具有固定宽度和高度(A4 纸大小)的 RichTextBox。当数据超出高度时,我想垂直滚动文本。通过将 VerticalScrollBarVisibility 属性设置为隐藏,我可以通过鼠标滚轮实现垂直滚动。在此之前一切正常。
如果我将 VerticalScrollBarVisibility 属性更改为“Visible”,它会显示附加到 RichTextBox 的垂直滚动条。因为,我使用 RichtextBox 的固定宽度,所以滚动条不会出现在窗口的右侧。但是,我想在我的窗口右侧有一个单独的滚动条(就像每个浏览器一样)。我在窗口中添加了一个单独的垂直滚动条。现在的问题是,如何将 Scrollbar 事件链接到 RichTextBox 滚动?。
<Style x:Key="RichTxtStyle" TargetType="{x:Type RichTextBox}">
<Setter Property="VerticalScrollBarVisibility" Value="Hidden"/>
<Setter Property="HorizontalScrollBarVisibility" Value="Disabled"/>
<Setter Property="AcceptsReturn" Value="True"/>
<Setter Property="Margin" Value="40,0,40,0"/>
<Setter Property="Padding" Value="50,50,50,50"/>
<Setter Property="Width" Value="827"/>
<Setter Property="MinHeight" Value="1169"/>
<Setter Property="BorderThickness" Value="0"/>
</Style>
这里是滚动条对象
<ScrollBar x:Name="VerticalScroll" Grid.Row="1" Grid.Column="1" Orientation="Vertical" ValueChanged="VerticalScroll_ValueChanged"/>
下面是事件,我试过了。这就是我完全迷失的地方?。
private void VerticalScroll_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
{
double offset = e.NewValue;
RichTxtBx.ScrollToVerticalOffset(offset);
}
【问题讨论】:
标签: c# wpf scrollbar wpf-controls