Прочитать на английском

Поделиться через


FrameworkContentElement.Cursor Свойство

Определение

Получение или установка курсора, который отображается при наведении указателя мыши на этот элемент.

public System.Windows.Input.Cursor Cursor { get; set; }

Значение свойства

Отображаемый курсор. Значение по умолчанию определяется как null для данного свойства зависимостей. Однако на практике значение по умолчанию во время выполнения зависит от множества факторов.

Примеры

В следующем примере курсору присваивается настраиваемое значение.

private void CursorTypeChanged(object sender, SelectionChangedEventArgs e)
{
    ComboBox source = e.Source as ComboBox;

    if (source != null)
    {
        ComboBoxItem selectedCursor = source.SelectedItem as ComboBoxItem;

        // Changing the cursor of the Border control 
        // by setting the Cursor property
        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;
        }

        // If the cursor scope is set to the entire application
        // Use OverrideCursor to force the cursor for all elements
        if (!cursorScopeElementOnly)
        {
            Mouse.OverrideCursor = DisplayArea.Cursor;
        }
    }
}

Комментарии

При задании этого свойства в XAML обработчик XAML полагается на преобразование типа для Cursor класса для вычисления строки. Указанная строка должна иметь CursorType значение . Дополнительные сведения см. в разделе Cursor.

Указывает, будет ли отображаться курсор, установленный этим свойством, при наведении указателя мыши на этот элемент также зависит от значения ForceCursor свойства . Кроме того, аспекты, связанные с событиями, такие как активное перетаскивание, захват мыши, режимы редактирования текста в элементах управления и т. д., также влияют на курсор с более высоким приоритетом, чем значение, указанное в этом свойстве.

Чтобы отменить изменения поведение при установке этого свойства на конечное значение по умолчанию, установите для него значение null еще раз.

Значение null по умолчанию действительно означает, что определение практического значения курсора откладывается здесь и должно быть получено из другого места. При отсутствии программных значений из любого источника курсор по умолчанию на Windows Presentation Foundation приложении (WPF) будет стрелкой.

Каждое перемещение указателя мыши над приложением WPF вызывает QueryCursor событие . Событие пузырьков, и любой элемент вдоль маршрута имеет возможность обработать событие и задать значение курсора с помощью аргументов этого события. В этом случае тот факт, что событие обрабатывается и имеет измененное значение в аргументах, имеет приоритет над значением Cursor свойства на любом уровне, если ForceCursor не задано.

Если пользовательский курсор не создается, обычно для этого свойства устанавливается статическое значение Cursors свойства класса .

Cursor Установка настраиваемого значения не включена в режиме частичного доверия. Дополнительные сведения о пользовательских курсорах см. в разделе Общие сведения о вводе.

Сведения о свойстве зависимостей

Поле идентификатора CursorProperty
Для свойств метаданных задано значение true Нет

Применяется к

Продукт Версии
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

См. также раздел