将事件处理程序发送到RoutedEventHandler

时间:2013-06-16 22:22:09

标签: c# windows-phone-7

这是我所拥有的代码的基本模型:

private void textBlock1_Tap (object sender, System.Windows.Input.GestureEventArgs e)
{
    TextBox TextBox1 = new TextBox();
    TextBlock tblk = (TextBlock)sender;

    ApplicationBar = new ApplicationBar();

    TextBox1.LostFocus += TextBox1_LostFocus;

    ApplicationBarIconButton appBarButton = new ApplicationBarIconButton(new Uri("/Assets/AppBar/check.png", UriKind.Relative));
    appBarButton.Text = "Accept";
    ApplicationBar.Buttons.Add(appBarButton);

    appBarButton.Click +=

}

void TextBox1_LostFocus(object sender, RoutedEventArgs e)
{
    //do things here
}

我需要订阅click事件,当它被触发时,我需要调用TextBox1_LostFocus并将TextBox1作为参数发送。基本上我想做的是让appBarButton.Click做与TextBox1.LostFocus完全相同的事情。

问题是,LostFocus是一个RoutedEventHandler,TextBox1_LostFocus将RoutedEventArgs作为参数,而appBarButton.Click是一个EventHandler。

我在编码方面不是很有经验,所以非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

RoutedEventArgs继承EventArgs

您可以为这两个事件添加相同的处理程序。

更好的是,您可以将代码移动到一个函数中,并从两个不同的事件处理程序中调用它。