欠けている/余分なタブストップでいくつかの問題をデバッグしようとしています。フォーカスが変わるたびにどの要素にフォーカスがあるのかを記録できるように、何かのグローバルイベントがありますか?ありがとう!ここで私は十分に機能している、今やっているのですが、私は別の方法がありますかどうかについてはまだ興味:Silverlight 4でフォーカスが変更されたときに通知を受け取りますか?
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromSeconds(0.2);
timer.Tick += onTick;
timer.Start();
// ...
private object LastFocusedElement;
private void onTick(object sender, EventArgs e)
{
object elem = FocusManager.GetFocusedElement();
if(LastFocusedElement != elem)
{
LastFocusedElement = elem;
System.Diagnostics.Debug.WriteLine("+++FOCUS+++ Focus changed to: " + elem + (elem == null ? "" : " (" + elem.GetType().Name + ")"));
}
}
AddHandler関数を使用する方法はありません。あなたはthis.GotFocus + = ....することができますが、xamlにハンドラを追加しない限り、私のためにはうまくいかなかったようです。 AddHanderは、既に処理されたイベントを捕まえることができるので、マウスイベントには本当に便利です! –