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

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

這裡以兩個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中的事件