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

설명

에이 속성을 설정 하면 XAMLXAMLXAMLXAML 프로세서에 대 한 형식 변환에 의존 합니다 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. 제공 되지 않는 경우 소스에서 프로그래밍 방식으로 값을 기본 커서는 위에 시각적으로 WPF(Windows Presentation Foundation)Windows Presentation Foundation (WPF) 애플리케이션 화살표를 수 있습니다.If presented without programmatic values from any source, the default cursor that is visually over a WPF(Windows Presentation Foundation)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. 경우는 QueryCursor 처리기는 커서 결과 반환한 다음 이벤트 처리 되 고 변경 된 값 인수에는 팩트의 값 보다 우선 합니다 Cursor 모든 수준에서 속성 하지 않는 한 ForceCursor 설정 됩니다.If 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.

  • 사용 하 여는 CursorConverter 클래스 및 해당 ConvertFrom 하 여 커서를 지정 하는 방법 CursorType, 또는으로 계산 되는 문자열을 CursorType, 캐스팅을 반환 하 고 Cursor.Use 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

적용 대상

추가 정보