保护用户控件类上的事件

时间:2018-03-15 09:53:17

标签: .net wpf vb.net xaml

我在WPF上创建了一个可视化的基本用户控件,其中一些事件的处理类似于其类中的MouseEnter或MouseLeftButtonDown。

Private Sub UCMenuButton_MouseEnter(sender As Object, e As MouseEventArgs) Handles Me.MouseEnter
    gridUCMenuButton.Background = New SolidColorBrush(System.Windows.Media.Color.FromRgb(53, 53, 53))
End Sub

好吧,我想知道如何保护这些事件,禁止此类或UC的调用者覆盖父级。我希望成为课堂上独有和独特的活动的威胁,而不是用户环境。

我试过

  

RemoveHandler事件,AddressOf事件处理程序

  

IsHitTestVisible = “假”

但是那些完全删除了事件调用。

1 个答案:

答案 0 :(得分:0)

感谢您的回答。我在此查询中找到了与上一条评论 @Manfred Radlwimmer 相关的正确答案。

Why e.Handled = true not working?

这个问题因为遗传而无法解决。显然,在类事件之前处理用户或父事件。因此,如果用户决定向UC提供功能,则在类事件处理程序之前执行。然后,如果我在具有e.handled = True的类上禁用事件的功能,它将在执行之后执行并且继续失去其目的。

希望它可以帮助解释。