Данная статья переведена с помощью средств машинного перевода. Чтобы просмотреть ее на английском языке, установите флажок Английский. Вы также можете просматривать английский текст во всплывающем окне, наводя указатель мыши на переведенный текст.
Перевод
Английский

Свойство FrameworkElement.Cursor

 

Опубликовано: Октябрь 2016

Возвращает или задаёт курсор, отображаемый, когда указатель мыши находится над данным элементом.

Пространство имен:   System.Windows
Сборка:  PresentationFramework (в PresentationFramework.dll)

public Cursor Cursor { get; set; }

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

Type: System.Windows.Input.Cursor

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

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

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

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

null По умолчанию реально означает, что определение практического значения курсора здесь отложено и должно быть получено из другого источника. В случае представления без программных значений из любого источника, курсор по умолчанию это визуально более Windows Presentation Foundation (WPF) приложение будет представлять собой стрелку. Однако изменения временных курсор не настроены для Cursor значения элементов, если они передаются. Cursor Свойство будет только отчет без значений null в случаях, где он фактически было задано, например через код или стиль. Наведение указателя мыши на каждом движении WPF приложение создает событие QueryCursor события. Событие направляется вверх и любой элемент на маршруте имеет возможность обработать событие и задать значение курсора с помощью аргументов этого события. Это механизм обеспечивает визуальное отображение курсора в большинстве случаев. Если QueryCursor обработчик возвращает результат курсора, а затем тот факт, что событие обрабатывается и имеет измененного значения аргументов имеет приоритет над значением Cursor свойств на любом уровне, если ForceCursor имеет значение.

Если не создается специальный курсор, вы обычно этому свойству присваивается значение статического свойства Cursors класса. Параметр Cursor в коде требуется один из следующих:

  • Вызов Cursor конструктора для получения Cursor экземпляра. Оба подписи Cursor конструктор использовать потоки или файлы, в ожидании, для которого создается Cursor объекта для пользовательского курсора.

  • Используйте CursorConverter класса и его ConvertFrom метод для указания курсора, CursorType, или строку, которая может быть CursorType, и приведение вернуться к Cursor.

Параметр Cursor пользовательское значение не включена в режиме частичного доверия. Дополнительные сведения о специальных курсорах см. в разделе фокусе.

Поле идентификатора

CursorProperty

Значение свойства метаданных true

NONE

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

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 == false)
        {
            Mouse.OverrideCursor = DisplayArea.Cursor;
        }
    }
}

.NET Framework
Доступно с 3.0
Silverlight
Доступно с 2.0
Windows Phone Silverlight
Доступно с 7.0
Вернуться в начало
Показ: