我想調試一些缺少/額外製表位的問題。是否有某種我可以附加到的全局事件,以便在焦點更改時記錄哪個元素具有焦點?謝謝!下面是我在做什麼,現在,其作品不夠好,但我仍然好奇,是否有另一種方式:當焦點在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對鼠標事件非常有用,因爲您可以捕獲已處理的事件! – 2013-02-13 03:45:57