Point Hit Test : Mouse « Windows Presentation Foundation « VB.Net






Point Hit Test

Point Hit Test
     
<Window 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">

  <Window.Resources>
    <Storyboard x:Key="OnLoaded"/>
  </Window.Resources>

  <Window.Triggers>
    <EventTrigger RoutedEvent="FrameworkElement.Loaded">
      <BeginStoryboard x:Name="OnLoaded_BeginStoryboard" Storyboard="{DynamicResource OnLoaded}"/>
    </EventTrigger>
  </Window.Triggers>
    <StackPanel>   
  <Rectangle Fill="Red"  Width="200" Height="200" x:Name="RectangleArea"/>
  <Label d:LayoutOverrides="Height"  Width="Auto" Height="28" x:Name="HitLabel" Content="Label"/>
    </StackPanel>
</Window>
//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
    Private hitStatus As String

    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)

      hitStatus = "no hit"

      VisualTreeHelper.HitTest(RectangleArea, Nothing, New HitTestResultCallback(AddressOf HitTestResultHandler), New PointHitTestParameters(position))
      Me.HitLabel.Content = [String].Format("Result of the hit test: {0}", hitStatus)
    End Sub

    Public Function HitTestResultHandler(result As HitTestResult) As HitTestResultBehavior
      Dim hitResult As PointHitTestResult = DirectCast(result, PointHitTestResult)

      hitStatus = [String].Format("{0} was hit at this point: {1}", DirectCast(hitResult.VisualHit, FrameworkElement).Name, hitResult.PointHit.ToString())
      Return HitTestResultBehavior.[Continue]
    End Function
  End Class
End Namespace

   
    
    
    
    
  








Related examples in the same category

1.MouseDown action on LineMouseDown action on Line
2.Hit Result BehaviorHit Result Behavior
3.Button PreviewMouseLeftButtonDown action and MouseLeftButtonDown actionButton PreviewMouseLeftButtonDown action and MouseLeftButtonDown action
4.Grid MouseLeftButtonDown action and PreviewMouseLeftButtonDown actionGrid MouseLeftButtonDown action and PreviewMouseLeftButtonDown action
5.Detect whether the mouse button is pressed or released using the MouseButtonState property.Detect whether the mouse button is pressed or released using the MouseButtonState property.
6.Handler MouseLeftButtonDown and MouseLeftButtonUp eventsHandler MouseLeftButtonDown and MouseLeftButtonUp events
7.Make an object follow the mouse pointer as it moves on the screen.Make an object follow the mouse pointer as it moves on the screen.
8.Use Mouse.AddPreviewMouseDownHandler(myEllipse, PreviewMouseDownEllipse);Use Mouse.AddPreviewMouseDownHandler(myEllipse, PreviewMouseDownEllipse);
9.Use Mouse.AddMouseDownHandler(myEllipse, MouseDownEllipse);Use Mouse.AddMouseDownHandler(myEllipse, MouseDownEllipse);
10.Use Mouse.PreviewMouseDown /Mouse.MouseDown Attribute from Grid elementUse Mouse.PreviewMouseDown /Mouse.MouseDown Attribute from Grid element
11.A line which monitors the mouse entering its areaA line which monitors the mouse entering its area
12.Mouse Position and TranslateTransformMouse Position and TranslateTransform
13.Mouse PositionMouse Position
14.Get mouse position with Mouse.GetPositionGet mouse position with Mouse.GetPosition
15.Replease mouse with Mouse.Capture(null)Replease mouse with Mouse.Capture(null)
16.Retrieving the mouse position relative to controls on a WindowRetrieving the mouse position relative to controls on a Window
17.Mouse cursor override and clearMouse cursor override and clear
18.Check the mouse event sourceCheck the mouse event source
19.Use the Mouse Wheel action methods that are defined by the IScrollInfo interfaceUse the Mouse Wheel action methods that are defined by the IScrollInfo interface
20.Change control background in mouse enter and leaveChange control background in mouse enter and leave
21.Use EventSetter to add mouse event handlerUse EventSetter to add mouse event handler
22.Mouse.LostMouseCaptureEventMouse.LostMouseCaptureEvent
23.Use Mouse.Capture to let a Control capture an eventUse Mouse.Capture to let a Control capture an event