簡體   English   中英

在WPF中同步兩個RTF文本框滾動條

[英]Synchronizing Two Rich Text Box Scroll bars in WPF

我研究了同步富文本框滾動條的方法,但僅遇到Winforms的解決方案或方法,但在WPF應用程序中不起作用。 如果有人在WPF中做到了這一點,並且可以提供實現該目標的指導/代碼/指南,將不勝感激。 我是WPF的新手,歡迎任何幫助。 謝謝。

您可以使用ScrollViewer.ScrollChanged路由事件來偵聽滾動更改。 例:

<UniformGrid Rows="1" Width="300" Height="150" >
    <RichTextBox x:Name="_rich1" 
                 VerticalScrollBarVisibility="Auto"
                 ScrollViewer.ScrollChanged="RichTextBox_ScrollChanged" />
    <RichTextBox x:Name="_rich2" 
                 VerticalScrollBarVisibility="Auto"
                 ScrollViewer.ScrollChanged="RichTextBox_ScrollChanged" />
</UniformGrid>

然后,在事件處理程序中進行實際的同步(代碼 被偷 其他答案啟發):

private void RichTextBox_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
    var textToSync = (sender == _rich1) ? _rich2 : _rich1;

    textToSync.ScrollToVerticalOffset(e.VerticalOffset);
    textToSync.ScrollToHorizontalOffset(e.HorizontalOffset);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM