WPF - 覆盖事件

时间:2011-01-18 13:58:06

标签: wpf events

我正在继承第三方控件,需要为某些事件添加步骤。

我的旧xaml:

<ThirdPartyControl Sorting="ThirdPartyControl_Sorting" />

我的新xaml:

<MyInheritedControl Sorting="ThirdPartyControl_Sorting" />

在我继承的控件中,我将实现新的步骤并正常地将事件路由回来。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

您的第三方控件是否提供受保护和虚拟的OnSorting方法?如果是这样,您可以覆盖它并执行任何操作,然后调用基本实现:

protected override OnSorting(SortingEventArgs e)
{
   // Do your thing

   base.OnSorting(e);
}

答案 1 :(得分:0)

使用 base ,您始终可以从继承的(子)对象中调用父类:

        void Init()
        {
            base.Init();
        }

就像你说的那样你必须将事件路由回父母。但我认为不能直接在XAML中完成。 您甚至可以传递方法参数:

        void Init(int value)
        {
            base.Init(value);
        }