다음을 통해 공유


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 실제로 실제 커서 값의 결정이 여기에서 지연되고 다른 곳에서 가져와야 하다는 것을 의미합니다. 원본의 프로그래밍 방식 값이 없는 경우 WPF(Windows Presentation Foundation) 애플리케이션의 기본 커서는 화살표가 됩니다.

WPF 애플리케이션을 통해 마우스를 이동할 때마다 이벤트가 발생합니다 QueryCursor . 이벤트 버블 및 경로의 모든 요소는 이벤트를 처리하고 이 이벤트의 인수를 통해 커서 값을 설정할 수 있습니다. 이 경우 이벤트가 처리되고 인수에 변경된 값이 있다는 사실이 설정되지 않는 한 ForceCursor 모든 수준에서 속성 값 Cursor 보다 우선합니다.

사용자 지정 커서를 만들지 않으면 일반적으로 이 속성을 클래스의 Cursors 정적 속성 값으로 설정합니다.

Cursor 사용자 지정 값으로 설정하는 것은 부분 신뢰에서 사용하도록 설정되지 않습니다. 사용자 지정 커서에 대한 자세한 내용은 입력 개요를 참조하세요.

종속성 속성 정보

식별자 필드 CursorProperty
메타 데이터 속성 설정 true 없음

적용 대상

추가 정보