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