내보내기(0) 인쇄
모두 확장

FrameworkElement.Cursor 속성

업데이트: 2007년 11월

마우스 포인터가 이 요소 위에 있을 때 표시되는 커서를 가져오거나 설정합니다. 이 속성은 종속성 속성입니다.

네임스페이스:  System.Windows
어셈블리:  PresentationFramework(PresentationFramework.dll)
XAML의 XMLNS: http://schemas.microsoft.com/winfx/xaml/presentation

public Cursor Cursor { get; set; }
/** @property */
public Cursor get_Cursor()
/** @property */
public  void set_Cursor(Cursor value)

public function get Cursor () : Cursor
public function set Cursor (value : Cursor)
<object Cursor="Cursor" .../>

속성 값

형식: System.Windows.Input.Cursor

표시할 커서입니다. 이 종속성 속성에 대해 기본값은 null로 정의됩니다. 그러나 런타임의 실제 기본값은 다양한 요인을 기준으로 합니다.

식별자 필드

CursorProperty

true로 설정된 메타데이터 속성

없음

XAML에서 이 속성을 설정할 때 XAML 프로세서는 Cursor 클래스의 형식 변환을 사용하여 문자열을 계산합니다. 제공된 문자열은 CursorType 값으로 계산되어야 합니다. 자세한 내용은 Cursor를 참조하십시오.

마우스 포인터가 이 요소 위에 있을 때 이 속성에서 설정한 커서가 표시되는지 여부는 ForceCursor 속성의 값에 따라서도 달라집니다. 또한 활성 끌기, 마우스 캡처, 컨트롤 내의 텍스트 편집 모드와 같은 이벤트 관련 고려 사항도 이 속성에서 사용자가 지정하는 값보다 높은 우선 순위로 커서에 영향을 줄 수 있습니다.

이 속성을 설정하는 동작을 최종적인 기본값으로 되돌리려면 null로 다시 설정하면 됩니다.

기본값인 null은 실제로 실제 커서 값 결정을 해당 위치에서는 지연시키고 다른 위치에서 값을 가져옴을 의미합니다. 소스에서 프로그래밍 값이 제공되지 않는 경우 WPF(Windows Presentation Foundation) 응용 프로그램 위에 시각적으로 표시되는 기본 커서는 화살표가 됩니다. 그러나 커서를 건너뛸 때는 임시 커서 변경 내용이 요소의 Cursor 값으로 설정되지 않습니다. Cursor 속성은 코드 또는 스타일을 통해 실제로 설정된 경우에만 null이 아닌 값을 보고합니다. WPF 응용 프로그램에서 마우스를 이동하면 QueryCursor 이벤트가 발생합니다. 이 이벤트는 버블링되며, 경로에 있는 요소는 이벤트를 처리하고 이 이벤트의 인수를 통해 커서의 값을 설정할 수 있습니다. 대부분의 경우 이 메커니즘을 통해 명백하게 표시되는 커서가 생성됩니다. QueryCursor 처리기가 커서 결과를 반환하면, ForceCursor가 설정되어 있는 경우를 제외하고는 이벤트가 처리되며 인수에서 변경된 값을 포함한다는 사실이 모든 수준에서 Cursor 속성의 값보다 우선적으로 적용됩니다.

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

  • Cursor 생성자를 호출하여 Cursor 인스턴스를 가져옵니다. Cursor 생성자의 두 시그니처는 모두 사용자가 사용자 지정 커서에 대해 Cursor 개체를 만들 것으로 예상하여 스트림이나 파일을 사용합니다.

  • CursorConverter 클래스 및 해당 ConvertFrom 메서드를 사용하여 CursorType별로 또는 CursorType이 될 수 있는 문자열별로 커서를 지정하고 해당 결과를 Cursor로 캐스팅합니다.

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

다음 예제에서는 커서 그래픽을 설정하는 방법을 보여 줍니다.

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;
        }
    }
}


Windows Vista

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

.NET Framework

3.5, 3.0에서 지원

커뮤니티 추가 항목

추가
표시:
© 2015 Microsoft