WPF VB.Net

  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="PaintDrawExamples.DynamicClipping" 
  Width="640" Height="480">
    
        
    

    
        
            
        
    

    
        
            
                
                    
                    
                    
                    
                
            

        

        
        
    

//File:Window.xaml.vb
Imports System
Imports System.IO
Imports System.Net
Imports System.Windows
Imports System.Windows.Input
Imports System.Windows.Controls
Imports System.Windows.Data
Imports System.Windows.Media
Imports System.Windows.Media.Animation
Imports System.Windows.Navigation
Namespace PaintDrawExamples
  Public Partial Class DynamicClipping
    Public Sub New()
      Me.InitializeComponent()
      Me.Canvas.VerticalAlignment = VerticalAlignment.Center
      Me.Canvas.HorizontalAlignment = HorizontalAlignment.Center
      AddHandler CompositionTarget.Rendering, AddressOf CompositionTarget_Rendering
    End Sub
    Private Sub CompositionTarget_Rendering(sender As Object, e As EventArgs)
      Dim mousePos As Point = Mouse.GetPosition(Me.Canvas)
      Dim clippingRegion As Geometry = Me.Canvas.Clip
      Dim newPos As New TranslateTransform()
      newPos.X = mousePos.X - (Me.Canvas.Width / 2)
      newPos.Y = mousePos.Y - (Me.Canvas.Height / 2)
      clippingRegion.Transform = newPos
    End Sub
  End Class
End Namespace