Point Hit Test with VisualTreeHelper.HitTest : UI Element « Windows Presentation Foundation « VB.Net






Point Hit Test with VisualTreeHelper.HitTest

Point Hit Test with VisualTreeHelper.HitTest
       
<StackPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  xmlns:d="http://schemas.microsoft.com/expression/interactivedesigner/2006"
  mc:Ignorable="d"
  x:Class="InputExamples.PointHitTest" 
  Width="640" Height="480">

  <StackPanel.Resources>
    <Storyboard x:Key="OnLoaded"/>
  </StackPanel.Resources>
  <StackPanel.Triggers>
    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
      <BeginStoryboard x:Name="OnLoaded_BeginStoryboard" Storyboard="{DynamicResource OnLoaded}"/>
    </EventTrigger>
  </StackPanel.Triggers>
  <Rectangle Fill="Red" Margin="20" Width="200" Height="200" x:Name="RectangleArea"/>
</StackPanel>
//File:Window.xaml.vb

Imports System
Imports System.IO
Imports System.Net
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Data
Imports System.Windows.Input
Imports System.Windows.Media
Imports System.Windows.Media.Animation
Imports System.Windows.Navigation

Namespace InputExamples
  Public Partial Class PointHitTest
    Public Sub New()
      Me.InitializeComponent()
    End Sub

    Protected Overrides Sub OnInitialized(e As EventArgs)
      MyBase.OnInitialized(e)
      AddHandler CompositionTarget.Rendering, AddressOf Me.CompositionTarget_Rendering
    End Sub

    Private Sub CompositionTarget_Rendering(sender As Object, e As EventArgs)
      Dim position As Point = Mouse.GetPosition(RectangleArea)
      VisualTreeHelper.HitTest(RectangleArea, Nothing, New HitTestResultCallback(AddressOf HitTestResultHandler), New PointHitTestParameters(position))
    End Sub

    Public Function HitTestResultHandler(result As HitTestResult) As HitTestResultBehavior
      Dim hitResult As PointHitTestResult = DirectCast(result, PointHitTestResult)
      Console.WriteLine(DirectCast(hitResult.VisualHit, FrameworkElement).Name)
      Console.WriteLine(hitResult.PointHit.ToString())
      Return HitTestResultBehavior.[Continue]
    End Function
  End Class
End Namespace

   
    
    
    
    
    
    
  








Related examples in the same category

1.Find enclosure componentFind enclosure component
2.Clear locally set values and restore the default values of dependency propertiesClear locally set values and restore the default values of dependency properties
3.PresentationTraceSources.SetTraceLevel(binding,PresentationTraceLevel.High);PresentationTraceSources.SetTraceLevel(binding,PresentationTraceLevel.High);
4.UI Element Mouse Clicked EventsUI Element Mouse Clicked Events
5.Programmatically Extract an Element's Style with DefaultStyleKeyPropertyProgrammatically Extract an Element's Style with DefaultStyleKeyProperty
6.Print Logical TreePrint Logical Tree
7.Print Visual TreePrint Visual Tree
8.About Dialog with Tree WalkingAbout Dialog with Tree Walking
9.Changing graphical elementsChanging graphical elements
10.UIElement CountUIElement Count
11.Use Linq to get control from a containerUse Linq to get control from a container
12.Find inner visual elementFind inner visual element
13.Logical Visual Tree SampleLogical Visual Tree Sample
14.Change the Visibility property of a UIElement.Change the Visibility property of a UIElement.
15.Mixing graphics with Control ElementsMixing graphics with Control Elements