1. 程式人生 > >VS編程,WPF中兩個滾動條 ScrollViewer 同步滾動的一種方法

VS編程,WPF中兩個滾動條 ScrollViewer 同步滾動的一種方法

9.png hid 聲明 class ESS 定義 如果 src 中一

原文:VS編程,WPF中兩個滾動條 ScrollViewer 同步滾動的一種方法

版權聲明:我不生產代碼,我只是代碼的搬運工。 https://blog.csdn.net/qq_43307934/article/details/83450444

這裏以兩個ScrollViewer控件之間的同步滾動為例。

當鼠標拖動其中一個滾動條時,另一個滾動條跟著一起調整到相應的位置。

技術分享圖片?

1、前臺創建兩個ScrollViewer控件,並分別給兩個滾動條控件命名。

        <StackPanel Orientation="Horizontal">

            <ScrollViewer BorderThickness=" 2"
                          Name="SV1"
                          HorizontalScrollBarVisibility="Auto"
                          VerticalScrollBarVisibility="Auto">
                <TextBlock Width=" 300"
                           Height=" 900"
                           Background="BlanchedAlmond" />
            </ScrollViewer>


            <ScrollViewer BorderThickness=" 2"
                          Name="SV2"
                          Margin=" 50 0"
                          ScrollChanged="SV2_ScrollChanged"
                          HorizontalScrollBarVisibility="Auto"
                          VerticalScrollBarVisibility="Auto">
                <TextBlock Width=" 300"
                           Height=" 900"
                           Background="DeepSkyBlue" />
            </ScrollViewer>

        </StackPanel>

2、給其中一個滾動控件增加ScrollChanged="? "事件

技術分享圖片

3、在事件中增加如下格式的代碼

            ScrollViewer sv = e.OriginalSource as ScrollViewer;

            if (sv != null)
            {
                SV1.ScrollToVerticalOffset(sv.VerticalOffset);
            }

像這樣:技術分享圖片?

4、如果想讓兩個控件互相影響,則在兩個控件中都定義3中的事件

VS編程,WPF中兩個滾動條 ScrollViewer 同步滾動的一種方法