UIElement.Focusable Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получение или установка значения, определяющего возможность получения фокуса элементом. Это свойство зависимостей.
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
Значение свойства
Значение true
, если данный элемент может иметь фокус; в противном случае — значение false
. Значение по умолчанию — false
.
Реализации
Примеры
В следующем примере кода показан шаблон элемента управления для конкретного пользовательского элемента управления, который задает Focusablefalse
для одного из элементов в шаблоне.
<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>
Комментарии
Только элемент с фокусом получает ввод с клавиатуры.
Focusable— это метод доступа к свойству .NET Майкрософт для того, что на самом деле является свойством зависимостей. Это конкретное свойство зависимостей довольно часто имеет очевидное значение "default" в классах производных элементов, особенно в элементах управления. Обычно это происходит одним из двух способов:
Свойство зависимостей наследуется определенным производным классом, но этот производный класс переопределяет метаданные свойства зависимостей и изменяет значение свойства по умолчанию.
Стиль или шаблон применяется к элементу, который по-разному задает значение свойства зависимостей.
Например, очевидное значение по умолчанию Focusable для Button элемента управления будет иметь значение true
, даже если Button наследует Focusable в качестве свойства среды CLR непосредственно от UIElement. Это связано с тем, что значение примененных метаданных для Focusable свойства зависимостей было переопределено в статическом конструкторе Control базового класса, который находится между Button и UIElement в иерархии классов.
При наследуемом по классам Control или его производным классам Control переопределяет значение по умолчанию этого свойства на .true
Если наследуется от Label (который является производным классом Control ), значение по умолчанию снова определяется false
как .
Сведения о свойстве зависимостей
Поле идентификатора | FocusableProperty |
Для свойств метаданных задано значение true |
Нет |
Примечания для тех, кто наследует этот метод
При наследоваве от UIElement напрямую (в отличие от Control), подумайте, хотите ли вы, чтобы элемент был фокусируемым, так как по умолчанию элемент не будет фокусироваться. Если вы хотите, чтобы элемент был фокусируемым, переопределите метаданные для этого свойства в статическом конструкторе типа следующим образом:
FocusableProperty.OverrideMetadata(typeof(myElement), new UIPropertyMetadata(true));
FocusableProperty.OverrideMetadata(GetType(myElement), New UIPropertyMetadata(True))
где myElement
должно быть именем класса типа, для которого переопределяется значение метаданных.
Применяется к
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по