FrameworkElement.Cursor FrameworkElement.Cursor FrameworkElement.Cursor FrameworkElement.Cursor Property

Определение

Получение или установка курсора, который отображается при наведении указателя мыши на этот элемент.Gets or sets the cursor that displays when the mouse pointer is over this element.

public:
 property System::Windows::Input::Cursor ^ Cursor { System::Windows::Input::Cursor ^ get(); void set(System::Windows::Input::Cursor ^ value); };
public System.Windows.Input.Cursor Cursor { get; set; }
member this.Cursor : System.Windows.Input.Cursor with get, set
Public Property Cursor As Cursor

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

Отображаемый курсор.The cursor to display. Значение по умолчанию определяется как null для данного свойства зависимостей.The default value is defined as null per this dependency property. Однако на практике значение по умолчанию во время выполнения зависит от множества факторов.However, the practical default at run time will come from a variety of factors.

Примеры

В следующем примере показано, как намеренно задать рисунок курсора.The following example shows how to deliberately set the cursor graphic.

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;
        }
    }
}
' When the Radiobox changes, a new cursor type is set
Private Sub CursorTypeChanged(ByVal sender As Object, ByVal e As SelectionChangedEventArgs)

    Dim item As String = CType(e.Source, ComboBox).SelectedItem.Content.ToString()

    Select Case item
        Case "AppStarting"
            DisplayArea.Cursor = Cursors.AppStarting
        Case "ArrowCD"
            DisplayArea.Cursor = Cursors.ArrowCD
        Case "Arrow"
            DisplayArea.Cursor = Cursors.Arrow
        Case "Cross"
            DisplayArea.Cursor = Cursors.Cross
        Case "HandCursor"
            DisplayArea.Cursor = Cursors.Hand
        Case "Help"
            DisplayArea.Cursor = Cursors.Help
        Case "IBeam"
            DisplayArea.Cursor = Cursors.IBeam
        Case "No"
            DisplayArea.Cursor = Cursors.No
        Case "None"
            DisplayArea.Cursor = Cursors.None
        Case "Pen"
            DisplayArea.Cursor = Cursors.Pen
        Case "ScrollSE"
            DisplayArea.Cursor = Cursors.ScrollSE
        Case "ScrollWE"
            DisplayArea.Cursor = Cursors.ScrollWE
        Case "SizeAll"
            DisplayArea.Cursor = Cursors.SizeAll
        Case "SizeNESW"
            DisplayArea.Cursor = Cursors.SizeNESW
        Case "SizeNS"
            DisplayArea.Cursor = Cursors.SizeNS
        Case "SizeNWSE"
            DisplayArea.Cursor = Cursors.SizeNWSE
        Case "SizeWE"
            DisplayArea.Cursor = Cursors.SizeWE
        Case "UpArrow"
            DisplayArea.Cursor = Cursors.UpArrow
        Case "WaitCursor"
            DisplayArea.Cursor = Cursors.Wait
        Case "Custom"
            DisplayArea.Cursor = CustomCursor
    End Select

    ' if the cursor scope is set to the entire application
    ' use OverrideCursor to force the cursor for all elements
    If (cursorScopeElementOnly = False) Then
        Mouse.OverrideCursor = DisplayArea.Cursor
    End If


End Sub

Комментарии

Если это свойство задано в XAMLXAML XAMLXAML , процессор использует преобразование типов для Cursor вычисления строки в качестве класса.When you set this property in XAMLXAML, the XAMLXAML processor relies on type conversion for the Cursor class to evaluate the string. Указанная строка должна иметь CursorType значение.The provided string should evaluate to a CursorType value. Подробные сведения см. в разделе Cursor.See Cursor for details.

Указывает, будет ли курсор, установленный этим свойством, или не будет отображаться, если указатель мыши находится над данным элементом, также зависит от значения ForceCursor свойства.Whether the cursor as established by this property will or will not display when the mouse pointer is over this element is also dependent on the value of the ForceCursor property. Кроме того, вопросы, связанные с событиями, такие как активное перетаскивание, захват мыши, режимы редактирования текста в элементах управления и т. д., также влияют на курсор с более высоким приоритетом, чем значение, указанное в этом свойстве.Also, event-related considerations such as an active drag, mouse capture, text editing modes within controls, and so on, will also affect the cursor with higher priority than the value you specify in this property.

Чтобы отменить поведение задания этого свойства в конечном итоге, задайте для null него значение.To revert the behavior of setting this property to the eventual default, set it to null again.

Значение null по умолчанию действительно означает, что определение практического значения курсора будет отложено и должно быть получено из других мест.The null default really means that determination of the practical cursor value is deferred here and should be obtained from elsewhere. Если вы не предвидите программные значения из какого-либо источника, то курсором по умолчанию, который находится над Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) приложением, будет стрелка.If presented without programmatic values from any source, the default cursor that is visually over a Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) application will be an arrow. Однако изменения временных курсоров не Cursor задаются значениями элементов при их передаче.However, the transient cursor changes are not set to the Cursor values of the elements when they are passed over. Cursor Свойство будет сообщать только значения, отличные от NULL, в тех случаях, где они были заданы, например, с помощью кода или стиля.The Cursor property will only report non null values in cases where it was actually set, for instance through code or a style. Каждое перемещение указателя мыши на WPFWPF приложение QueryCursor вызывает событие.Each movement of the mouse over a WPFWPF application raises a QueryCursor event. Событие переносится вверх, и любой элемент маршрута имеет возможность управлять событием и устанавливать значение курсора с помощью аргументов этого события.The event bubbles, and any element along the route has the opportunity to handle the event and to set the value of the cursor through the arguments of this event. Это механизм, который в большинстве случаев создает визуально видимый курсор.This is the mechanism that produces the visually apparent cursor in most cases. Если обработчик возвращает результат курсора, то тот факт, что событие обрабатывается и имеет измененное значение в аргументах, имеет приоритет над значением Cursor свойства на любом уровне, если ForceCursor не задано значение. QueryCursorIf a QueryCursor handler returns a cursor result, then the fact that the event is handled and has a changed value in the arguments takes precedence over the value of the Cursor property at any level, unless ForceCursor is set.

Если не создается пользовательский курсор, обычно этому свойству присваивается статическое значение Cursors свойства класса.If not are not creating a custom cursor, you typically set this property to a static property value of the Cursors class. Для Cursor настройки в коде необходимо одно из следующих значений:Setting Cursor in code requires one of the following:

  • Cursor Вызовите Cursor конструктор, чтобы получить экземпляр.Call the Cursor constructor to get a Cursor instance. Обе сигнатуры Cursor конструктора используют потоки или файлы, что предполагает Cursor создание объекта для пользовательского курсора.Both signatures of the Cursor constructor use streams or files, in anticipation that you are creating the Cursor object for a custom cursor.

  • ConvertFrom CursorType CursorTypeИспользуйте класс и его метод для указания курсора с помощью или строки, которая может выдавать значение, и приведения к типу Cursor. CursorConverterUse the CursorConverter class and its ConvertFrom method to specify a cursor by CursorType, or a string that can evaluate to a CursorType, and cast the return to Cursor.

Cursor Присвоение значения пользовательскому значению не включено при частичном доверии.Setting the Cursor to a custom value is not enabled in partial trust. Дополнительные сведения о пользовательских курсорах см. в разделе Общие сведения о входных данных.For more information on custom cursors, see Input Overview.

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

Поле идентификатораIdentifier field CursorProperty
Свойства метаданных, для которых задано значениеtrueMetadata properties set to true НетNone

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

Дополнительно