问题标签 [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.
c# - 处理从主窗口中的模式对话框引发的冒泡事件
我的 WPF 应用程序中有一个模式对话框,允许用户登录到服务器。该对话框仅包含一个处理所有登录内容(UI、Web 服务调用以及在调用返回时引发路由事件)的用户控件。
一切正常,我可以在对话框中处理我的事件(登录成功时关闭对话框)。但是,我无法在我的主应用程序中处理该事件(一旦用户登录,我应该刷新 UI)。
如何在引发事件的窗口之外拦截此类路由事件(如果可能的话)?如果不可能,通常的处理方法是什么?
wpf - 在 WPF 中使用自定义 RoutedEvent 会导致 TargetInvocationException
我正在尝试自定义路由事件,但在使用附加事件处理程序进行编译时出现 TargetInvocationException。
我在自定义控件中有以下代码EventRaiserControl
:
然后,我的主窗口中有以下 XAML:
在 MainWindow 代码中使用以下处理程序:
我的代码适用于这个处理程序:
TargetInvocationException
但是在我添加附加的处理程序的那一刻失败了:
有人可以帮忙吗?我错过了什么/滥用什么?
非常感谢
wpf - ComboBox PreviewKeyDown 不会为 Return 键触发
我想有条件地阻止 Enter/Return 键选择 ComboBox 下拉菜单中突出显示的项目。所以我将一个事件处理程序连接到 ComboBox.PreviewKeyDown 以便我可以设置 Handled 属性,但永远不会输入事件处理程序。当我使用 Snoop 观看事件时,会为其他键触发 PreviewKeyDown 事件,但当我按下返回键时它不会触发;甚至不在窗口级别。为什么事件没有触发?
编辑:组合框需要是可编辑的(IsEditable=true)。然后打开下拉列表。开始在您的列表中输入一个项目,它应该为您选择它。按返回键。
vb.net - 无法执行 RoutedEventHandler
我有循环来创建一列按钮,现在我希望将事件处理程序实现到所有按钮中但不工作。
创建一列按钮的迭代
我希望在单击 btnFriday 的 1 时执行以下事件,该事件打开一个称为 Bookslot 的子窗口
我收到类似的错误
Public Event Click(sender As Object, e As System.Windows.RoutedEventArgs)'是一个事件,不能直接调用。使用“RaiseEvent”语句引发事件
大多数解决方案都是使用带有 silverlight 的 C# 构建的,它们似乎运行良好。虽然我在使用带有 silverlight 的 VB.NET 时遇到问题,但有什么想法吗?
wpf - 查看什么处理了路由事件
基本上我们有一个巨大的项目,我们有一个有时会被触发的事件处理程序,而其他一些则不是。我认为这是因为在代码丛林的某个地方,我们正在处理那个事件,所以它不会冒泡到我们需要的地方。无论如何要找出它在哪里被处理?
谢谢!
c# - 将点击事件添加到自定义控件
如何将 Click 路由事件添加到我的自定义类?
这行不通。当我单击该项目时,不会发生 Click 事件。
任何的想法?
c# - 将事件从项目路由到 MVVM 中的集合
我怎么能做这样的事情?
ICommand Add_as_Friend 是ItemsControl 中的一个按钮。
我需要将我的事件发送到 MainViewModel 而不是那个人。
c# - 使用带有 caliburn 微 Message.Attach 的附加事件
我正在尝试使用 caliburn 微消息来触发我创建的附加事件:
在 XAML 本身中,我添加了以下行:
助手引用正确的命名空间。我还尝试了其他失败的版本(完整命名空间):
尝试自己设置交互事件:
当我尝试添加一个正常的事件触发器时,一切正常,所以它不是我附加的事件声明:
我在这里做错了什么?有没有办法附加一个附加的事件并使用 caliburn micro 调用它?
c# - 在 DataGrid 中一致地使用 ICommand 和 InputBindings
我正在尝试创建一个具有以下功能的 DataGrid:
- 只读数据网格,但通过双击和单独的编辑表单提供编辑功能(双击特定行)
- 调用新/编辑/删除表单的 ContextMenu(右键单击整个 DataGrid)
- 调用删除表单的删除键(在特定选定行上)
我认为使用 ICommand 是个好主意,所以我创建了一个这样的 DataGrid:
然后我意识到,双击一行不起作用,所以我添加了这个:
当然删除键也不起作用,我添加了这个:
为什么我必须这样做?使用命令来防止这种对事件的攻击难道不是重点吗?我错过了什么吗?
在我简单而完美的世界中,我想在 CanExecute 方法中决定是否适合处理命令,而不是订阅大量不同的事件处理程序。
c# - DataTemplate 中的父子对象
在我的 MainWindow 中,我有一个绑定到POCO 对象ListBox
的who:ItemsSource
ObservableCollection
Layout
此外,在 MainWindow 中,我们使用UserControl
(LayoutUserControl) 定义 Layout 对象的可视化表示:
当我们将对象添加到 Layouts 集合时,我们会看到新的 LayoutUserControls 填充了 ListBox。这很简单。
现在,我想做的是以某种方式从 MainWindow 与各个 LayoutUserControls 进行通信。具体来说,从 MainWindow,我想在每个 LayoutUserControls 上调用一个方法...如果我尝试遍历 ListBox 的 Items 集合,我得到的只是对 Layout 对象的引用,而不是 LayoutUserControls。由于 LayoutUserControls 是在 DataTemplate 中定义的,因此我没有命名引用来访问它们...
是否有 WPF 构造支持这种从父控件到子控件的交互?RoutedEvents 是我的第一个想法,但它们只支持子到父(气泡)通信。也许命令是要走的路?
任何帮助,将不胜感激。
谢谢!