UIElement.Focusable Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Öğenin odağı alıp alamayacağını belirten bir değer alır veya ayarlar. Bu bir bağımlılık özelliğidir.
public:
property bool Focusable { bool get(); void set(bool value); };
public bool Focusable { get; set; }
member this.Focusable : bool with get, set
Public Property Focusable As Boolean
Özellik Değeri
true
öğe odaklanabilirse; aksi takdirde false
. Varsayılan değer: false
.
Uygulamalar
Örnekler
Aşağıdaki örnek kod, belirli bir özel denetim için şablon içindeki öğelerden birini ayarlayan Focusablefalse
bir denetim şablonunu gösterir.
<Window.Resources>
<Style x:Key="TextBoxNoScrollViewer" TargetType="{x:Type TextBoxBase}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBoxBase}">
<Border
CornerRadius="2"
Background="{TemplateBinding Background}"
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"
>
<!--
The control template for a TextBox or RichTextBox must
include an element tagged as the content host. An element is
tagged as the content host element when it has the special name
PART_ContentHost. The content host element must be a ScrollViewer,
or an element that derives from Decorator.
-->
<AdornerDecorator
x:Name="PART_ContentHost"
Focusable="False"
/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
Açıklamalar
Yalnızca odaklanmış öğe klavye girişi alır.
Focusable, gerçekte bir bağımlılık özelliği için Microsoft .NET özellik erişimcisidir. Bu belirli bağımlılık özelliği, özellikle denetimlerde türetilmiş öğe sınıflarında belirgin "varsayılan" değeri farklı ayarlanmıştır. Bu genellikle iki yoldan biriyle oluşur:
Bağımlılık özelliği belirli bir türetilmiş sınıf tarafından devralınır, ancak türetilen sınıf bağımlılık özelliğinin meta verilerini geçersiz kılar ve özellik varsayılan değerini değiştirir.
Bağımlılık özelliği değerini farklı ayarlayan bir öğeye stil veya şablon uygulanır.
Örneğin, bir denetimin görünür "varsayılan" Focusable değeri, doğrudan öğesinden UIElementortak dil çalışma zamanı (CLR) özelliği olarak devralınsa ButtonFocusable bile olurtrue
.Button Bunun nedeni, bağımlılık özelliği için uygulanan meta veri değerinin Focusable sınıf hiyerarşisinde ile UIElement arasında Button yer alan temel sınıfın Control statik oluşturucusunda geçersiz kılınmış olmasıdır.
veya türetilmiş sınıfları tarafından Control devralındığında, Control bu özelliğin varsayılan değerini olacak true
şekilde yeniden tanımlar.
tarafından Label devralındığında (türetilmiş bir Control sınıftır), varsayılan değer olarak yeniden tanımlanır false
.
Bağımlılık Özelliği Bilgileri
Tanımlayıcı alanı | FocusableProperty |
Meta veri özellikleri olarak ayarlandı true |
Hiçbiri |
Devralanlara Notlar
öğesinden UIElement doğrudan türetilirken (öğesinden Controldeğil), öğenizin odaklanabilir olmasını isteyip istemediğinizi göz önünde bulundurun çünkü varsayılan olarak öğe odaklanabilir olmayacaktır. Öğenizin odaklanabilir olmasını istiyorsanız, türünüzün statik oluşturucusunun içindeki bu özelliğin meta verilerini aşağıdaki gibi geçersiz kılın:
FocusableProperty.OverrideMetadata(typeof(myElement), new UIPropertyMetadata(true));
FocusableProperty.OverrideMetadata(GetType(myElement), New UIPropertyMetadata(True))
burada myElement
, meta veri değerini geçersiz kıldığınız türün sınıf adı olmalıdır.
Şunlara uygulanır
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin