ContentElement.Focus Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Попытка задать фокус для данного элемента.
public:
virtual bool Focus();
public bool Focus ();
abstract member Focus : unit -> bool
override this.Focus : unit -> bool
Public Function Focus () As Boolean
Возвращаемое значение
true
если элемент может получить клавиатурный фокус; false
если в результате вызова данного метода элемент фокус не получил.
Реализации
Примеры
В следующем примере показан обработчик событий с загрузкой страницы, который находит указанный именованный абзац в документе и устанавливает фокус на него. Абзацы по умолчанию не фокусируются; этот конкретный абзац имеет примененный (не показанный) стиль, который использовал стиль Setter , чтобы сделать его фокусируемым.
void FocusOnParagraph(object sender, RoutedEventArgs e)
{
ContentElement ce = this.FindName("focusableP") as ContentElement;
ce.Focus();
}
Private Sub FocusOnParagraph(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim ce As ContentElement = TryCast(Me.FindName("focusableP"), ContentElement)
ce.Focus()
End Sub
Комментарии
Чтобы быть фокусируемым, Focusable и IsEnabled оба должны иметь значение true
. Обратите внимание, что по ContentElement умолчанию не Focusable все производные классы.
Даже если элемент доступен для фокусировки и включен, обработка событий в определенном дереве (например, для составного элемента управления) может реагировать на события фокуса предварительного просмотра, не разрешая фокус, поэтому этот метод возвращает false
.
Фокус в целом регулируется двумя отдельными понятиями: фокусом клавиатуры и логическим фокусом, которые не всегда идентичны. Этот метод задает логический фокус. Нет никаких программных средств для настройки фокуса клавиатуры; фокус клавиатуры определяется введенными пользователем данными. Дополнительные сведения см. в разделах Общие сведения о фокусе и Общие сведения о входных данных.
Если вызов Focus возвращает , IsKeyboardFocusedtrue
и IsKeyboardFocusWithin также true
имеют значение .
Если связанные свойства еще true
не имеют значения , при вызове Focusвызывается одно или несколько из следующих событий в следующем порядке: PreviewLostKeyboardFocus, PreviewGotKeyboardFocus (источник — новый целевой объект фокуса), IsKeyboardFocusedChanged, IsKeyboardFocusWithinChanged, LostKeyboardFocus, GotKeyboardFocus (источник — это новый целевой объект фокуса).