Changing the cursor of the Border control by setting the Cursor property
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="cursors" Height="450" Width="600" Loaded="OnLoaded">
<Window.Resources>
<Style TargetType="{x:Type RadioButton}">
<Setter Property="Margin" Value="3" />
</Style>
<Style TargetType="{x:Type Label}">
<Setter Property="FontSize" Value="14" />
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
<Style TargetType="{x:Type Border}">
<Setter Property="BorderBrush" Value="LightBlue" />
<Setter Property="BorderThickness" Value="2" />
<Setter Property="Margin" Value="10" />
</Style>
</Window.Resources>
<StackPanel>
<Border Width="300">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<Label HorizontalAlignment="Left">Cursor Type</Label>
<ComboBox Width="100" SelectionChanged="CursorTypeChanged" HorizontalAlignment="Left" Name="CursorSelector">
<ComboBoxItem Content="AppStarting" />
<ComboBoxItem Content="ArrowCD" />
<ComboBoxItem Content="Arrow" />
<ComboBoxItem Content="Cross" />
<ComboBoxItem Content="HandCursor" />
<ComboBoxItem Content="Help" />
<ComboBoxItem Content="IBeam" />
<ComboBoxItem Content="No" />
<ComboBoxItem Content="None" />
<ComboBoxItem Content="Pen" />
<ComboBoxItem Content="ScrollSE" />
<ComboBoxItem Content="ScrollWE" />
<ComboBoxItem Content="SizeAll" />
<ComboBoxItem Content="SizeNESW" />
<ComboBoxItem Content="SizeNS" />
<ComboBoxItem Content="SizeNWSE" />
<ComboBoxItem Content="SizeWE" />
<ComboBoxItem Content="UpArrow" />
<ComboBoxItem Content="WaitCursor" />
<ComboBoxItem Content="Custom" />
</ComboBox>
</StackPanel>
</Border>
<Border Name="DisplayArea" Height="250" Width="400" Margin="20" Background="AliceBlue">
<Label HorizontalAlignment="Center">
Move Mouse Pointer Over This Area
</Label>
</Border>
</StackPanel>
</Window>
//File:Window.xaml.vb
Imports System
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Media
Imports System.Windows.Input
Imports System.IO
Imports System.Collections
Namespace WpfApplication1
Public Partial Class Window1
Inherits Window
Private CustomCursor As Cursor
Public Sub New()
CustomCursor = New Cursor(Directory.GetCurrentDirectory() & Path.DirectorySeparatorChar & "CustomCursor.cur")
End Sub
Public Sub CursorTypeChanged(sender As Object, e As SelectionChangedEventArgs)
Dim source As ComboBox = TryCast(e.Source, ComboBox)
If source IsNot Nothing Then
Dim selectedCursor As ComboBoxItem = TryCast(source.SelectedItem, ComboBoxItem)
Select Case selectedCursor.Content.ToString()
Case "AppStarting"
DisplayArea.Cursor = Cursors.AppStarting
Exit Select
Case "ArrowCD"
DisplayArea.Cursor = Cursors.ArrowCD
Exit Select
Case "Arrow"
DisplayArea.Cursor = Cursors.Arrow
Exit Select
Case "Cross"
DisplayArea.Cursor = Cursors.Cross
Exit Select
Case "HandCursor"
DisplayArea.Cursor = Cursors.Hand
Exit Select
Case "Help"
DisplayArea.Cursor = Cursors.Help
Exit Select
Case "IBeam"
DisplayArea.Cursor = Cursors.IBeam
Exit Select
Case "No"
DisplayArea.Cursor = Cursors.No
Exit Select
Case "None"
DisplayArea.Cursor = Cursors.None
Exit Select
Case "Pen"
DisplayArea.Cursor = Cursors.Pen
Exit Select
Case "ScrollSE"
DisplayArea.Cursor = Cursors.ScrollSE
Exit Select
Case "ScrollWE"
DisplayArea.Cursor = Cursors.ScrollWE
Exit Select
Case "SizeAll"
DisplayArea.Cursor = Cursors.SizeAll
Exit Select
Case "SizeNESW"
DisplayArea.Cursor = Cursors.SizeNESW
Exit Select
Case "SizeNS"
DisplayArea.Cursor = Cursors.SizeNS
Exit Select
Case "SizeNWSE"
DisplayArea.Cursor = Cursors.SizeNWSE
Exit Select
Case "SizeWE"
DisplayArea.Cursor = Cursors.SizeWE
Exit Select
Case "UpArrow"
DisplayArea.Cursor = Cursors.UpArrow
Exit Select
Case "WaitCursor"
DisplayArea.Cursor = Cursors.Wait
Exit Select
Case "Custom"
DisplayArea.Cursor = CustomCursor
Exit Select
Case Else
Exit Select
End Select
End If
End Sub
Public Sub OnLoaded(sender As Object, e As RoutedEventArgs)
DirectCast(CursorSelector.Items(0), ComboBoxItem).IsSelected = True
End Sub
End Class
End Namespace
Related examples in the same category