0
我想为GotFocus和LostFocus上的所有文本框调用通用处理函数。是否可以为Windows Phone 7创建GetPreviousFocusedElement函数?
有关的GotFocus我可以创建:
private void GotFocus()
{
TextBox textBox = ((TextBox)FocusManager.GetFocusedElement());
textBox.Text = "";
}
,并调用它像这样:
private void textBox1_GotFocus(object sender, RoutedEventArgs e)
{
//Instead of this in every TextBox
//TextBox textBox = (TextBox)sender;
//textBox.Text = "";
GotFocus();
}
但引发LostFocus我不能做同样得到一些symetry处理?我是否有义务在私人成员中管理GotFocus中控件的记忆,以便稍后可以在LostFocus中使用它?
难道没有办法通过挂钩.NET系统来创建更多的全局方法吗?创建这个缺少的GetPreviousFocusedElement函数?
我喜欢Symetry法则,这就是医生如何发现新的法律,我认为这个原则也适用于IT。
我不想传递发件人,这就是要点:) – user310291 2010-10-13 18:20:10
所有事件都有发件人参数 - 因此您可以编写一个事件处理程序来处理GotFocus和LostFocus事件 - 然后使用sender参数来确定发射事件的对象。如果你不想使用sender参数,那么你所要求的可能是不可能的。你想要一个解决方案,所以我给你一个。 – samjudson 2010-10-19 13:28:41
好吧问题是在.NET中明确使用发件人作为参数,而不是能够获取它的任何上下文。 – user310291 2010-10-30 14:02:48