Changing the cursor of the Border control by setting the Cursor property : Cursor « Windows Presentation Foundation « C# / CSharp Tutorial






<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.cs

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Input;
using System.IO;
using System.Collections;


namespace WpfApplication1
{
    public partial class Window1 : Window
    {
        Cursor CustomCursor;
       
        public Window1()
        {
            CustomCursor = new Cursor(Directory.GetCurrentDirectory() +Path.DirectorySeparatorChar + "CustomCursor.cur");
        }
        public void CursorTypeChanged(object sender, SelectionChangedEventArgs e)
        {
            ComboBox source = e.Source as ComboBox;

            if (source != null)
            {
                ComboBoxItem selectedCursor = source.SelectedItem as ComboBoxItem;
                
                switch (selectedCursor.Content.ToString())
                {
                    case "AppStarting":
                        DisplayArea.Cursor = Cursors.AppStarting;
                        break;
                    case "ArrowCD":                        
                        DisplayArea.Cursor = Cursors.ArrowCD;
                        break;
                    case "Arrow":
                        DisplayArea.Cursor = Cursors.Arrow;
                        break;
                    case "Cross":
                        DisplayArea.Cursor = Cursors.Cross;
                        break;
                    case "HandCursor":
                        DisplayArea.Cursor = Cursors.Hand;
                        break;
                    case "Help":
                        DisplayArea.Cursor = Cursors.Help;
                        break;
                    case "IBeam":
                        DisplayArea.Cursor = Cursors.IBeam;
                        break;
                    case "No":
                        DisplayArea.Cursor = Cursors.No;
                        break;
                    case "None":
                        DisplayArea.Cursor = Cursors.None;
                        break;
                    case "Pen":
                        DisplayArea.Cursor = Cursors.Pen;
                        break;
                    case "ScrollSE":
                        DisplayArea.Cursor = Cursors.ScrollSE;
                        break;
                    case "ScrollWE":
                        DisplayArea.Cursor = Cursors.ScrollWE;
                        break;
                    case "SizeAll":
                        DisplayArea.Cursor = Cursors.SizeAll;
                        break;
                    case "SizeNESW":
                        DisplayArea.Cursor = Cursors.SizeNESW;
                        break;
                    case "SizeNS":
                        DisplayArea.Cursor = Cursors.SizeNS;
                        break;
                    case "SizeNWSE":
                        DisplayArea.Cursor = Cursors.SizeNWSE;
                        break;
                    case "SizeWE":
                        DisplayArea.Cursor = Cursors.SizeWE;
                        break;
                    case "UpArrow":
                        DisplayArea.Cursor = Cursors.UpArrow;
                        break;
                    case "WaitCursor":
                        DisplayArea.Cursor = Cursors.Wait;
                        break;
                    case "Custom":
                        DisplayArea.Cursor = CustomCursor;
                        break;
                    default:
                        break;
                }
            }
        }
        public void OnLoaded(object sender, RoutedEventArgs e)
        {
            ((ComboBoxItem)CursorSelector.Items[0]).IsSelected = true;
        }
    }
}
WPF Changing The Cursor Of The Border Control By Setting The Cursor Property








24.77.Cursor
24.77.1.Set cursor areaSet cursor area
24.77.2.Changing the cursor of the Border control by setting the Cursor propertyChanging the cursor of the Border control by setting the Cursor property