UIElement.Focusable Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger ett värde som anger om elementet kan ta emot fokus. Det här är en beroendeegenskap.
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
Egenskapsvärde
true om elementet är fokusbart; annars false. Standardvärdet är false.
Implementeringar
Exempel
Följande exempelkod illustrerar en kontrollmall för en viss anpassad kontroll, som anges Focusablefalse på ett av elementen i mallen.
<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>
Kommentarer
Endast det fokuserade elementet får tangentbordsindata.
Focusable är Microsoft .NET egenskapsåtkomst för vad som i själva verket är en beroendeegenskap. Den här beroendeegenskapen har ofta sitt uppenbara "standardvärde" inställt på olika sätt i härledda elementklasser, särskilt i kontroller. Detta inträffar ofta på något av två sätt:
- Beroendeegenskapen ärvs av en viss härledd klass, men den härledda klassen åsidosätter metadata för beroendeegenskapen och ändrar egenskapens standardvärde.
- Ett format eller en mall tillämpas på ett element som anger värdet för beroendeegenskapen på ett annat sätt.
Till exempel är den uppenbara "standardinställningen" Focusable för för en Button kontroll , även om true ärver Button som en clr-egenskap (common language runtime) direkt från Focusable.UIElement Det beror på att det tillämpade metadatavärdet för beroendeegenskapen Focusable åsidosatts i den statiska konstruktorn för basklassen Control , som ligger mellan Button och UIElement i klasshierarkin.
När den ärvs av Control eller dess härledda klasser Control omdefinierar standardvärdet för den här egenskapen till true.
När ärvs av Label (vilket är en Control härledd klass) omdefinieras standardvärdet igen till false.
Information om beroendeegenskap
| Objekt | Value |
|---|---|
| Identifierarfält | FocusableProperty |
Metadataegenskaper inställda på true |
Ingen |
Anteckningar till arvingar
När du härleder från direkt (till skillnad från UIElement ) Controlbör du överväga om du vill att elementet ska vara fokuserbart, eftersom elementet som standard inte kan fokuseras. Om du vill att elementet ska vara fokuserat åsidosätter du metadata för den här egenskapen i typens statiska konstruktor på följande sätt:
FocusableProperty.OverrideMetadata(typeof(myElement), new UIPropertyMetadata(true));
FocusableProperty.OverrideMetadata(GetType(myElement), New UIPropertyMetadata(True))
myElement ska vara klassnamnet för den typ som du åsidosätter metadatavärdet på.