.net 保护用户控件类上的事件

.net 保护用户控件类上的事件,.net,wpf,vb.net,xaml,.net,Wpf,Vb.net,Xaml,我在WPF上创建了一个VisualBasic用户控件,其中一些事件在其类中处理,如MouseEnter或MouseLeftButtonDown 私有子UCMenuButton_MouseEntersender作为对象,e作为MouseEventArgs处理我。MouseEnter gridUCMenuButton.Background=新的SolidColorBrushSystem.Windows.Media.Color.FromRgb53,53,53 端接头 我想知道如何保护这些事件,以禁止此

我在WPF上创建了一个VisualBasic用户控件,其中一些事件在其类中处理,如MouseEnter或MouseLeftButtonDown

私有子UCMenuButton_MouseEntersender作为对象,e作为MouseEventArgs处理我。MouseEnter gridUCMenuButton.Background=新的SolidColorBrushSystem.Windows.Media.Color.FromRgb53,53,53 端接头 我想知道如何保护这些事件,以禁止此类或UC的调用方在父级上被重写。我想成为这些事件的威胁,在类中是唯一的,而不是在用户环境中

我试过了

RemoveHandler事件,eventhandler的地址

IshittesVisible=False


但是这些完全消除了事件调用。

谢谢您的回答。我在这个查询中找到了与最后一条评论相关的正确答案@Manfred Radlwimmer

这个问题由于其遗传性而无法解决。显然,用户或父事件是在类事件之前处理的。因此,如果用户决定给UC一个功能,它将在类事件处理程序之前执行。然后,如果我在e.handled=True的类上禁用事件的功能,它将在之后执行,并连续地失去其目的


希望它能帮助您进行解释。

当您的UserControl用户添加自己的鼠标事件处理程序时,这不会覆盖您的处理程序。你的处理程序仍然在工作,没错。我把问题贴错了。我想问的是如何禁用此UC的用户在其上添加事件。我想让我的个人活动独一无二。例如:我想在MouseEnter上将背景颜色更改为灰色,仅此而已。再一次反思,我在想也许这是一个愚蠢的问题,不能这样做。应该足以让e.Handled为真。