UIElement.Focusable Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia wartość wskazującą, czy element może odbierać fokus. Jest to właściwość zależności.
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
Wartość właściwości
true
jeśli element jest fokusem; w przeciwnym razie false
. Wartość domyślna to false
.
Implementuje
Przykłady
Poniższy przykładowy kod ilustruje szablon kontrolki dla określonej kontrolki niestandardowej, która ustawia Focusablefalse
jeden z elementów w szablonie.
<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>
Uwagi
Tylko element skoncentrowany odbiera dane wejściowe klawiatury.
Focusablejest akcesorem właściwości Microsoft .NET dla tego, co jest w rzeczywistości właściwością zależności. Ta konkretna właściwość zależności dość często ma widoczną wartość "domyślną" ustawioną inaczej w klasach elementów pochodnych, szczególnie w kontrolkach. Często występuje to na jeden z dwóch sposobów:
Właściwość zależności jest dziedziczona przez określoną klasę pochodną, ale ta klasa pochodna zastępuje metadane właściwości zależności i zmienia wartość domyślną właściwości.
Styl lub szablon jest stosowany do elementu, który ustawia inną wartość właściwości zależności.
Na przykład widoczna wartość "domyślna" dla Button kontrolki to true
, mimo że Button dziedziczy Focusable jako właściwość środowiska uruchomieniowego języka wspólnego (CLR) bezpośrednio z UIElement.Focusable Wynika to z faktu, że zastosowana wartość metadanych dla Focusable właściwości zależności została zastąpiona w konstruktorze Control statycznym klasy bazowej, która znajduje się między Button i UIElement w hierarchii klas.
Po dziedziczeniu przez Control klasy Control pochodne lub klasy pochodne ponownie definiuje domyślną wartość tej właściwości na true
.
Po dziedziczeniu przez Label (która jest klasą pochodną Control ), wartość domyślna jest ponownie ponownie definiowana jako false
.
Informacje dotyczące właściwości zależności
Pole identyfikatora | FocusableProperty |
Właściwości metadanych ustawione na true |
Brak |
Uwagi dotyczące dziedziczenia
Podczas wyprowadzania bezpośrednio UIElement (w przeciwieństwie do wartości z Control), należy rozważyć, czy element ma być fokusowy, ponieważ domyślnie element nie będzie można skupić się na fokusie. Jeśli chcesz, aby element był możliwy do koncentracji uwagi, przesłoń metadane tej właściwości w konstruktorze statycznym typu w następujący sposób:
FocusableProperty.OverrideMetadata(typeof(myElement), new UIPropertyMetadata(true));
FocusableProperty.OverrideMetadata(GetType(myElement), New UIPropertyMetadata(True))
gdzie myElement
powinna być nazwą klasy typu, na którym zastępujesz wartość metadanych.
Dotyczy
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla