다음을 통해 공유


FrameworkElement.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) 애플리케이션 위에 시각적으로 표시되는 기본 커서는 화살표가 됩니다. 그러나 일시적인 커서 변경 내용은 전달될 때 요소의 값으로 설정 Cursor 되지 않습니다. 속성은 Cursor 코드 또는 스타일을 통해 instance 경우 실제로 설정된 경우 null이 아닌 값만 보고합니다. WPF 애플리케이션을 통해 마우스를 이동할 때마다 이벤트가 발생합니다 QueryCursor . 이벤트 버블 및 경로의 모든 요소는 이벤트를 처리하고 이 이벤트의 인수를 통해 커서 값을 설정할 수 있습니다. 대부분의 경우 시각적으로 명백한 커서를 생성하는 메커니즘입니다. QueryCursor 처리기가 커서 결과를 반환하는 경우 이벤트가 처리되고 인수에서 변경된 값이 있다는 사실은 설정되지 않는 한 ForceCursor 모든 수준의 속성 값 Cursor 보다 우선합니다.

사용자 지정 커서를 만들지 않는 경우 일반적으로 이 속성을 클래스의 Cursors 정적 속성 값으로 설정합니다. 코드에서 를 설정 Cursor 하려면 다음 중 하나가 필요합니다.

  • Cursor 생성자를 호출하여 Cursor instance 가져옵니다. 생성자의 두 서명 Cursor 은 모두 사용자 지정 커서에 대한 개체를 만드는 Cursor 것을 예상하여 스트림 또는 파일을 사용합니다.

  • 클래스 및 해당 메서드를 CursorConverter 사용하여 로 커서CursorType를 지정하거나 로 계산할 수 있는 문자열을 CursorType지정하고 반환을 로 캐스팅합니다Cursor.ConvertFrom

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

종속성 속성 정보

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

적용 대상

추가 정보