是否可以为Windows Phone 7创建GetPreviousFocusedElement函数?

时间:2010-10-11 18:56:25

标签: c# windows-phone-7

我想为GotFocus和LostFocus上的所有textBox调用泛型处理函数。

对于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。

1 个答案:

答案 0 :(得分:1)

参数object sender包含对控件的引用。

private void textBox1_GotFocus(object sender, RoutedEventArgs e)
{
    (sender as TextBox).Text = "";
}

private void textBox1_LostFocus(object sender, RoutedEventArgs e)
{
    (sender as TextBox).Text = "";
}

或任何你想要的LostFocus方法。