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


FrameworkContentElement.Cursor Свойство

Определение

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

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

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

Отображаемый курсор. Значение по умолчанию определяется в соответствии с 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;
        }
    }
}
' 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

Комментарии

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

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

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

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

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

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

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

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

Элемент Ценность
Поле идентификатора CursorProperty
Свойства метаданных, равные свойству true Нет

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

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