Tag: event bubbling

何时隧道和冒泡事件在WPF中有用?

我理解冒泡和隧道是如何工作的。 但是,我对使用它们很困惑。 原因如下: 我想处理鼠标点击事件。 要冒泡它,有MouseDown并且为了隧道它,有PreviewMouseDown 。 但是, MouseDown并不一定意味着用户单击了该控件。 可能是用户按下按钮并离开它以取消点击。 如果没有点击按钮,我不想改变任何东西。 所以我的问题是,Bubbling / Tunneling策略有用吗?

WPF应用程序中的事件冒泡

我是WPF的新手。 在我的WPF应用程序中,我有Windows,其中包含用户定义的子控件​​,用户定义的子控件​​再次包含另一个用户定义的子控件​​。 现在从最内层的儿童控制,点击按钮,我想在所有三个控件(即第一个大孩子控制,第二个孩子控制,第三个主控制和窗口)上触发事件。 我知道这可以通过代表和事件冒泡来实现。 你能告诉我怎么样吗?

如何阻止WPF KeyDown事件从某些包含的控件(如TextBox)冒泡?

我的程序非常大,并且使用WPF,我希望有一个使用’R’的全局快捷键,没有修饰符。 有许多控件,如TextBox,ListBox,ComboBox等,都在控件内部使用字母,这很好 – 这对我来说是正确的。 但是 – 我想保持KeyDown事件不会冒泡到主窗口 ,例如,当用户在TextBox中键入字母’R’时,它会触发快捷方式。 理想情况下,我希望能够做到这一点,而无需指定(并执行if-then逻辑)每个可能接收正常按字母键的控件的实例/类型(不仅仅是TextBox控件,尽管他们是最严重的违规者) )。

泡沫事件的首选方式是什么?

我有三个对象,ObjectA有一个ObjectB,ObjectB有一个ObjectC。 当ObjectC触发事件时,我需要ObjectA来了解它,所以这就是我所做的…… public delegate void EventFiredEventHandler(); public class ObjectA { ObjectB objB; public ObjectA() { objB = new ObjectB(); objB.EventFired += new EventFiredEventHandler(objB_EventFired); } private void objB_EventFired() { //Handle the event. } } public class ObjectB { ObjectC objC; public ObjectB() { objC = new ObjectC(); objC.EventFired += new EventFiredEventHandler(objC_EventFired); objC.FireEvent(); } public event EventFiredEventHandler […]

禁用事件冒泡c#wpf

我遇到以下问题: 当我拿到两个标签时: This is a label into another label 以下代码: private void Label_MouseUp(object sender, MouseButtonEventArgs e) { Console.WriteLine(“Do NOT show me”); } private void Label_MouseUp_1(object sender, MouseButtonEventArgs e) { Console.WriteLine(“Show me”); } 当我点击“秒”时,我希望它只触发“Label_MouseUp_1”。 但在我的控制台中,我得到: 给我看看 不要告诉我 有没有办法关闭冒泡事件? (另外,“First”必须是可点击的,因此删除那里的事件并不能解决问题) 日Thnx