none
ScrollViewer 中 GetPosition() 疑問 RRS feed

  • 問題

  • 各位先進好:

    在使用 ScrollViewer 中 GetPosition() 疑問。

    當ScrollViewer有出現ScrollBar與無出現ScrollBar所取得的 GetPosition()不相同。

    如何讓此二者取得的使無差異呢?

    Xaml檔如下所示。

          <ScrollViewer Name="sclViewer" HorizontalContentAlignment="Left" Grid.Row="1" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto">
                <!--<Viewbox HorizontalAlignment="Left"  Name="vbPanel">
                </Viewbox>-->
            </ScrollViewer>

    當ADD 一個Image物件於其中時,於MouseDown事件中。有出現ScrollBar及無出現ScrollBar時,其 GetPosition()不相同。

    是否有方法能使得二者所取得的值為相同的呢?

    懇請協助。

    2012年4月30日 上午 08:15

解答

  • GetPosition方法可以取得目前捲軸的位置, 這個位置必須經過轉換才能夠得到真正的位置, 這也是ScrollBar是否出現, 所得到的值會不同的原因, 您可以參考以下的範例將GetPosition方法取得的位置轉換成真正的位置:Creating A Scrollable Control Surface In WPF
    • 已標示為解答 陳奕昌 2012年5月1日 上午 01:58
    2012年4月30日 上午 11:18

所有回覆

  • GetPosition方法可以取得目前捲軸的位置, 這個位置必須經過轉換才能夠得到真正的位置, 這也是ScrollBar是否出現, 所得到的值會不同的原因, 您可以參考以下的範例將GetPosition方法取得的位置轉換成真正的位置:Creating A Scrollable Control Surface In WPF
    • 已標示為解答 陳奕昌 2012年5月1日 上午 01:58
    2012年4月30日 上午 11:18
  • this 前輩好:

    謝謝您的協助,使我很清楚的明白問題點,應需考慮ScrollViewer的 Scroll值即Offset值。


    2012年5月1日 上午 01:57