1
如何獲取鍵盤焦點在Silverlight中的元素或其視覺樹中的子元素中的任何位置?IsKeyboardFocusWithin in silverlight
如何獲取鍵盤焦點在Silverlight中的元素或其視覺樹中的子元素中的任何位置?IsKeyboardFocusWithin in silverlight
根據您的情況有兩種可能的解決方案(我們通常更喜歡問題中的更多細節)。
首先,您可以使用靜態方法獲取當前具有焦點的元素。然後,您可以使用VisualTreeHelper
來確定元素是否與您的元素一起使用。我通常會使用擴展類來更容易地使用VisualTreeHelper
。礦被發現here。隨着那堂課出席。然後: -
public static bool IsFocusIn(DependencyObject element)
{
DependendyObject focusedElement = FocusManager.GetFocusedElement() as DependencyObject;
if (focusedElement != null)
{
return focusedElement.Ancestors().Any(e => e == element);
}
return false;
}
第二種方法是將事件處理程序添加到您的元素GotFocus
和LostFocus
事件。您可以隨時跟蹤焦點進入或離開您的元素內的任何控制。