WPF - como posso bater teste as barras de rolagem no scrollviewer?
-
22-07-2019 - |
Pergunta
Alguém por favor pode me dizer como bater teste as barras de rolagem de um scrollviewer no WPF?
Obrigado,
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>
Código trás ...
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;
}
}
}
Solução
Com VisualTreeHelper.HitTest , os MouseEventArgs é relatif à scrollviewer, de modo que o primeiro parâmetro é o ScrollViewer. Em seguida, use PointHitTestParameter com a coordenada do MouseEventArgs.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow