C# 如何重写WPF c中的内置事件处理程序#

C# 如何重写WPF c中的内置事件处理程序#,c#,wpf,eventhandler,C#,Wpf,Eventhandler,在我的项目中,我想覆盖WPF中构建的修补事件处理程序。我不知道如何重写此事件处理程序以供自己使用。可能吗?有人可以举一些例子,我没有得到一些参考或例子 这是可能的 假设您想要覆盖(完全覆盖它)。您需要定义一个新函数来处理此问题。比如: private void Custom_TouchUp(object sender, TouchEventArgs e) { // Do some stuff there } (可能不是

在我的项目中,我想覆盖WPF中构建的修补事件处理程序。我不知道如何重写此事件处理程序以供自己使用。可能吗?有人可以举一些例子,我没有得到一些参考或例子

这是可能的

假设您想要覆盖(完全覆盖它)。您需要定义一个新函数来处理此问题。比如:

private void Custom_TouchUp(object sender, TouchEventArgs e)
        {
            // Do some stuff there          
        }
(可能不是TouchEventArgs,我还没有试过,但看起来很像)

然后,在xaml中,在对象定义中,需要为目标对象指定它应该使用此函数。如果它是一个组合框(例如),您将有如下内容:

<Combobox [...] TouchUp=Custom_TouchUp>
    <Eventual parameters>
</Combobox>

但是,同一类中的每个元素都将执行相同的操作。因此,当您想要定义新的自定义类时,这非常有用,您可以创建自定义控件并重写事件。请参阅下面我为TextBox控件尝试的代码

class TextBoxEx : TextBox
{
    protected override void OnTouchUp(System.Windows.Input.TouchEventArgs e)
    {
        base.OnTouchUp(e);
    }

    protected override void OnTouchDown(System.Windows.Input.TouchEventArgs e)
    {
       base.OnTouchDown(e);
    }
}

你想覆盖哪个项目?比如触地,触地,你试过这样的吗@user2137886您能解释一下为我自己重写这个事件处理程序是什么意思吗use@ChaseErnst我认为这是不同的。它应该包括定制的晚会。
class TextBoxEx : TextBox
{
    protected override void OnTouchUp(System.Windows.Input.TouchEventArgs e)
    {
        base.OnTouchUp(e);
    }

    protected override void OnTouchDown(System.Windows.Input.TouchEventArgs e)
    {
       base.OnTouchDown(e);
    }
}