ContentElement.Focus Yöntem

Tanım

Odağı bu öğeye ayarlamaya çalışır.Attempts to set focus to this element.

public:
 virtual bool Focus();
public bool Focus ();
abstract member Focus : unit -> bool
override this.Focus : unit -> bool
Public Function Focus () As Boolean

Döndürülenler

Boolean

true klavye odağı bu öğeye ayarlanabilyemdeyse; false Bu yöntem çağrısı odaklanmayı zorlamadı.true if keyboard focus could be set to this element; false if this method call did not force focus.

Uygulamalar

Örnekler

Aşağıdaki örnek, belgede belirtilen adlandırılmış paragrafı bulan ve odağı kendisine ayarlayan sayfa tarafından yüklenen bir olay işleyicisidir.The following example is a page-loaded event handler that finds a specified named paragraph in the document and sets focus to it. Paragraflar varsayılan olarak odaklayamaz; Bu paragrafta, odaklenebilir bir stil kullanan (gösterilmez) uygulanan bir stil vardı Setter .Paragraphs are not focusable by default; this particular paragraph had a style applied (not shown) that used a style Setter to make it focusable.

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

Açıklamalar

Odaklenebilir olması Focusable ve IsEnabled her ikisi de olmalıdır true .To be focusable, Focusable and IsEnabled must both be true. Tüm ContentElement türetilmiş sınıfların Focusable Varsayılan olarak olmadığı unutulmamalıdır.Note that nearly all ContentElement derived classes are not Focusable by default.

Bir öğe odaklanacak ve etkin olsa bile, belirli bir ağaç içindeki olay işleme (bir bileşik denetim gibi), odağa izin verilmemesine neden olacak şekilde önizleme odağı olaylarına yanıt verebilir, bu nedenle bu yöntem döndürülür false .Even if an element is focusable and enabled, event handling within a specific tree, (such as for a composite control) might respond to the preview focus events by not allowing focus there, thus this method would return false.

Genel olarak odak iki ayrı kavram ile yönetilir: klavye odağı ve mantıksal odak, her zaman özdeş değildir.Focus in general is governed by two separate concepts: keyboard focus and logical focus, which are not always identical. Bu yöntem, mantıksal odağı ayarlar.This method sets the logical focus. Klavye odağını özellikle ayarlamak için programlı bir yol yoktur; klavye odağı kullanıcı girdisine göre belirlenir.There is no programmatic means to set keyboard focus specifically; keyboard focus is determined by user input. Daha fazla bilgi için bkz. odağa genel bakış ve girişe genel bakış.For more information, see Focus Overview and Input Overview.

Eğer çağırma Focus döndürürse true IsKeyboardFocused ve IsKeyboardFocusWithin de varsa true .If calling Focus returns true, IsKeyboardFocused and IsKeyboardFocusWithin are also true.

İlgili özellikler henüz yoksa true , öğesini çağırdığınızda Focus aşağıdaki olaylardan biri veya daha fazlası aşağıdaki sırayla tetiklenir: PreviewLostKeyboardFocus , PreviewGotKeyboardFocus (kaynak yeni odak hedefi),,, IsKeyboardFocusedChanged IsKeyboardFocusWithinChanged LostKeyboardFocus , GotKeyboardFocus (kaynak yeni odak hedefidir).If the related properties are not already true, when you call Focus, one or more of the following events are raised in the following order: PreviewLostKeyboardFocus, PreviewGotKeyboardFocus (source is the new focus target), IsKeyboardFocusedChanged, IsKeyboardFocusWithinChanged, LostKeyboardFocus, GotKeyboardFocus (source is the new focus target).

Şunlara uygulanır

Ayrıca bkz.