如何重用事件处理程序

本文关键字:程序 事件处理 何重用 | 更新日期: 2023-09-27 17:56:16

我得到了一个代码:

private void border1_PreviewGiveFeedback(object sender, GiveFeedbackEventArgs e)
{
    // some code
}

主窗口.xaml:

<Border BorderBrush="Silver" PreviewGiveFeedback="border1_PreviewGiveFeedback"
        Name="border1" />

现在我想在 border2 中重用 border1 中的事件处理程序(无需在 border2 和 cs 文件中编写相同的代码)在这里写什么:

<Border Name="border2" />

如何重用事件处理程序

我认为与您在第一个边框中使用的相同

<Border PreviewGiveFeedback="border1_PreviewGiveFeedback" Name="border2" />

PreviewGiveFeedback 属性只是请求具有特定签名的事件处理程序。 您实际上可以将其命名为Potatoes_AreTasty__YUM只要它具有正确的签名,它就会正常运行。

因此,在 border2 中使用它的方法是只给它与 border1 相同的事件方法。 还可以重命名该函数,以指示它不是专门用于 border1,而是通用边框预览事件处理程序。

你可以做完全相同的事情:

<Border Name="border2" PreviewGiveFeedback="border1_PreviewGiveFeedback" />

要上班了。但是,在这种情况下,应考虑重命名事件处理程序方法。