FrameworkElement.Cursor Özellik

Tanım

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

C#
public System.Windows.Input.Cursor Cursor { get; set; }

Ö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.

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

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

Ürün Sürümler
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Ayrıca bkz.