wpf - come posso colpire testare le barre di scorrimento nel scrollviewer?
-
22-07-2019 - |
Domanda
Qualcuno può dirmi come colpire testare le barre di scorrimento di uno scrollviewer in WPF?
Grazie,
Andy
<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>
Codice dietro ...
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;
}
}
}
Soluzione
Con VisualTreeHelper.HitTest , MouseEventArgs è correlato al scrollviewer, quindi il primo parametro è ScrollViewer. Quindi utilizzare PointHitTestParameter con le coordinate del MouseEventArgs.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow