wpf - 如何在scrollviewer中测试滚动条?

时间:2009-09-18 10:01:36

标签: wpf scrollviewer hittest

有人可以告诉我如何在WPF中测试滚动查看器的滚动条吗?

谢谢,

安迪

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <StackPanel>
        <ScrollViewer Name="myScrollViewer" Width="280" Height="200" MouseMove="ScrollViewer_MouseMove" >


        </ScrollViewer>

        <TextBox Name="myTextBox"></TextBox>
    </StackPanel>
</Window>

代码背后......

using System.Windows.Input;

namespace WpfApplication1
{
    /// <summary>
    /// Interaction logic for Window1.xaml
    /// </summary>
    public partial class Window1
    {
        public Window1()
        {
            InitializeComponent();
        }

        private void ScrollViewer_MouseMove(object sender, MouseEventArgs e)
        {
            myTextBox.Text = e.GetPosition(myScrollViewer).X + "," + e.GetPosition(myScrollViewer).Y;
        }

    }
}

1 个答案:

答案 0 :(得分:1)

使用VisualTreeHelper.HitTest,MouseEventArgs与scrollviewer相关,因此第一个参数是ScrollViewer。 然后使用PointHitTestParameter和MouseEventArgs的坐标。