FrameworkElement.Cursor Özellik

Tanım

Fare işaretçisi bu öğenin üzerindeyken görüntülenen imleci alır veya ayarlar.

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

Özellik Değeri

Görüntülenecek imleç. Varsayılan değer bu bağımlılık özelliğine null göre tanımlanır. Ancak çalışma zamanındaki pratik varsayılan değer çeşitli faktörlerden gelir.

Örnekler

Aşağıdaki örnekte imleç grafiğinin nasıl kasıtlı olarak ayarlanacağı gösterilmektedir.

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

Açıklamalar

XAML'de bu özelliği ayarladığınızda, XAML işlemcisi dizeyi değerlendirmek için sınıfın Cursor tür dönüştürmesine dayanır. Sağlanan dize bir CursorType değer olarak değerlendirilmelidir. Ayrıntılar için bkz. Cursor.

Bu özellik tarafından oluşturulan imlecin, fare işaretçisi bu öğenin üzerindeyken görüntülenip görüntülenmeyeceği de özelliğin ForceCursor değerine bağlıdır. Ayrıca etkin sürükleme, fare yakalama, denetimler içindeki metin düzenleme modları gibi olayla ilgili dikkat edilmesi gerekenler, imleci bu özellikte belirttiğiniz değerden daha yüksek öncelikli olarak da etkiler.

Bu özelliği son varsayılana ayarlama davranışını geri döndürmek için null yeniden olarak ayarlayın.

Varsayılan null , pratik imleç değerinin belirlenmesinin burada erteleneceği ve başka bir yerden alınması gerektiği anlamına gelir. Herhangi bir kaynaktan programlı değerler olmadan sunulursa, bir Windows Presentation Foundation (WPF) uygulamasının üzerinde görsel olarak bulunan varsayılan imleç bir ok olur. Ancak geçici imleç değişiklikleri geçirildiğinde öğelerin değerlerine Cursor ayarlanmaz. Cursor özelliği yalnızca kod veya stil aracılığıyla ayarlandığı durumlarda null olmayan değerleri bildirir. Farenin WPF uygulaması üzerinde gerçekleştirilen her hareketi bir QueryCursor olay oluşturur. Olay kabarcıkları ve yol boyunca herhangi bir öğe, olayı işleme ve imlecin değerini bu olayın bağımsız değişkenleri aracılığıyla ayarlama fırsatına sahiptir. Bu, çoğu durumda görsel olarak görünen imleci üreten mekanizmadır. İşleyici QueryCursor bir imleç sonucu döndürürse, olayın işlenmesi ve bağımsız değişkenlerde değişen bir değere sahip olması, ayarlanmadığı sürece ForceCursor herhangi bir düzeyde özelliğin değerinden Cursor önceliklidir.

Özel bir imleç oluşturmuyorsanız, genellikle bu özelliği sınıfın Cursors statik özellik değerine ayarlarsınız. Koddaki ayar Cursor aşağıdakilerden birini gerektirir:

  • Örnek Cursor almak için oluşturucuyu Cursor çağırın. Oluşturucunun Cursor her iki imzası da özel bir imleç için nesne oluşturduğunuzu Cursor tahmin eden akışlar veya dosyalar kullanır.

  • sınıfını CursorConverterConvertFrom ve yöntemini kullanarak tarafından bir imleç CursorTypeveya olarak değerlendirebilen ve dönüşünü Cursoröğesine dönüştürebilen bir CursorTypedize belirtin.

Cursor ayarının özel bir değere ayarlanması kısmi güvende etkinleştirilmedi. Özel imleçler hakkında daha fazla bilgi için bkz. Girişe Genel Bakış.

Bağımlılık Özelliği Bilgileri

Tanımlayıcı alanı CursorProperty
Meta veri özellikleri olarak ayarlandı true Hiçbiri

Şunlara uygulanır

Ayrıca bkz.