问题标签 [routed-events]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
404 浏览

wpf - 隧道命令

我有几个在 ListBox 中实例化的用户控件。我的 Window 中有一个按钮 raises NavigationCommands.Refresh,以及一个CanExecute允许它执行的处理程序:

在每个动态创建的用户控件(在 ListBox 的 ItemTemplate 中创建)中,我都有一个NavigationCommands.Refresh. 当我单击窗口中的按钮时,我在每个用户控件中设置的处理程序是否应该不触发?我需要命令来隧道到每个 UC,但它不是。

0 投票
1 回答
366 浏览

c# - RoutedEventHandler 未正确添加到指定元素

我正在尝试使用以下代码行添加RoutedEventHandler到所有TextBoxes直通代码:

上面的代码将处理程序绑定到 Window 上的所有表单控件,而不是单独的 TextBoxes。请问有人可以

  1. 解释为什么会这样
  2. 以及如何正确地做。

谢谢你。

0 投票
1 回答
728 浏览

c# - 通过 WPF 中的接口引发键盘事件

我正在尝试在 WPF 中构建一个应用程序,我想在其中处理来自连接到单台计算机的多个键盘的输入(KeyPress 事件)。所以,我有一个类,我覆盖WndProc()方法并能够接收来自不同键盘设备的输入。在执行此操作时,我使用 MainWindow 句柄注册此类,因此窗口可以接收 CLR 键盘事件。但这不是问题。

问题是现在我正在开发UserControlWPF,它也可以响应这些多键盘事件。这些UserControls将在同一个窗口中实例化,但我正在考虑发送事件(尤其是RoutedEvents通过接口发送事件(尤其是 as )。因此,我的自定义 UserControl 类只是实现了接口,我很高兴。

你们知道如何做到这一点,我对 WPF 真的很陌生,所以我遇到了一些困难。

提前致谢 !!!

0 投票
1 回答
1379 浏览

wpf - LoadedEvent 的路由事件类处理程序不适用于大多数类

我正在尝试为所有 Loaded 事件注册处理程序:

不幸的是,我的处理程序只为 Window 和 DatePicker 的后代调用。它不适用于任何其他类型。

谁能解释这种行为?这是一个错误,遗憾的是他们选择忽略它。

是否有其他方式可以通知应用程序/窗口中的任何新元素?

0 投票
2 回答
5683 浏览

wpf - WPF 路由事件,订阅自定义事件

我试图让路由事件与将手动触发这些事件的子控件一起使用,它们将冒泡并在主网格级别进行处理。我基本上想做这样的事情:

但是当我运行我的示例时,我在演示框架中得到一个空引用,应用程序永远不会初始化,它在尝试加载/初始化 XAML (InitializeComponent()) 时失败。这是包含该事件的小文件:

我基本上想复制 ButtonBase.Click 如何允许父母为他们的孩子订阅任何按钮 click() 方法的行为。但是,这似乎不适用于 ButtonBase.Click()。也就是说,当我将自定义切换WpfApplication5:SpecialEvent.Tap="Catcher_Tap"ButtonBase.Click="Catcher_Tap"它时,它会起作用。任何想法为什么?ButtonBase 在做什么而我没有做什么?

0 投票
1 回答
2869 浏览

c# - PreviewMouseRightButtonDown 路由事件和 WPF DataGrid

现在这里基本上有两个问题,让我轻轻地向您介绍一下我目前遇到的问题。假设我们有一个常规的 DataGrid,我尝试PreviewMouseRightButtonDown在行上应用自定义功能,同时避免选择,因为这会扩展 Details 视图。我认为这篇文章会有所帮助;它是针对 的ListView,但只需稍作调整,它应该可以正常工作,对吗?


你为什么想这么做?,你可能会问。我想避免在右键单击时打开详细信息,因为在主项目详细信息部分中(有时)会花费很长时间访问数据库,并且右键单击只会bool在集合中的视图模型中设置适当的标志属性。


MainWindowView.xaml:

MainWindowViewModel.cs:

提问时间:

  • 为什么RoutingStrategy列出RoutedEventArgs的为 Direct而不是Tunneling?我以为所有Preview事件都是 Tunneling

在此处输入图像描述

  • 更重要的是:如果我在里面放一个断点,上面的解决方案就可以工作CheckItem,不会发生选择并且详细信息被折叠,一切都按预期工作。如果我删除断点,则会选择项目并打开详细信息部分,就好像事件没有停止传播一样。为什么会这样?我认为将 设置为 Handled应该只是表明该事件已被true真正处理RoutedEventArgs

[编辑]

现在我找到了一个“低俗”的解决方法,我可以附加PreviewMouseDown事件:

然后连接到SelectionChanged事件:

它适用于我的特殊情况,但主观上看起来很臭,所以我愿意接受任何其他建议。特别是为什么简单eventArgs.Handled = true的鼠标事件不足以抑制SelectionChanged以后的触发:)

0 投票
1 回答
3222 浏览

c# - WPF 未从用户控件接收路由事件

我有一个UserControl用作自定义按钮的按钮,但是由于我更改了围绕路由单击事件的命名空间不再起作用。基本上我的命名空间看起来像这样:

UI
UI.Controls
UI.Pages

我有UI.Controls.CustomButton一个路由点击事件实现了类似的东西:

我正在尝试从UI.Pages.SomePage这样的内部使用它:

XAML

C#

当我调试应用程序时,我看到RaiseEventmy 内部UI.Controls.CustomButton被击中,但NewButton_Clickmy 内部UI.Pages.SomePage从未被调用。

当一切都在同一个命名空间中时,这是有效的......我是否遗漏了一些明显的东西?谢谢!

0 投票
1 回答
817 浏览

wpf - wpf xaml中的EventTrigger RoutedEvent amimation

MyObject.IsGlowing = true我希望在我这样做时启动动画(<DataTemplate>如果有帮助的话,我很乐意)

但我收到此错误“触发器集合成员必须是 EventTrigger 类型”所以我将其更改为

但我不知道在RoutedEvent中放什么......

0 投票
2 回答
748 浏览

wpf - TabItem 事件处理中的 DataGrid

我有一个带有两个 TabItem 的 TabControl,在一个 TabItem 内我有一个 DataGrid。我正在尝试处理 TabItem 单击,并且它可以工作,但是,当我单击“dataGrid1”的一行时,也会触发 TabItem 单击的事件“TabItem_MouseLeftButtonUp”。见代码:

注意:我不能使用个性化<TabItem.Header>,因为我正在使用 MahApps,如果我使用 TabItem.Header 样式 os TabItem 将会中断。

0 投票
4 回答
676 浏览

c# - 停止控件处理路由事件

希望是一个简单的问题,因为我刚刚开始处理路由事件。

我有一个习惯UserControl。这包含许多其他控件。

UserControl在我的树的上方,我想响应源自其中一个包含的控件(不是 my )的双击事件。但是,我UserControl显然是在捕捉事件并将source属性设置为自身。我怎样才能阻止它这样做?

我不能使用OriginalSource,因为这指向点击的最低级别的控件(Border或其他)。

例如。

我已经尝试过覆盖OnMouseDoubleClick()OnPreviewMouseDoubleClick()in MyUserControl,但此时事件已经将 Source 设置为MyUserControl甚至在调用 base 或任何东西之前。

非常感谢