问题标签 [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 延迟触发 RoutedEvents
我正在收集为 MouseRightDownButton 触发的所有路由事件并将它们存储在队列中。我有 Sender 对象以及 RoutedEventArgs。
现在,我需要一个一个地触发这些事件,并且稍作停顿。我还想在触发每个事件时更新 UI。
这需要 Timer 类吗?
wpf - WPF 和路由事件
我有一个 WPF 窗口,它有一个位于 stackPanel 内的按钮,该按钮位于另一个 stackPanel 内
我为 MouseDown 事件的按钮编写了一个事件处理程序。我想为按钮和父级(堆栈面板)和父级的父级执行此事件处理程序三次
如何通过仅编写一个事件处理程序来使用路由事件来实现这一点?我不想重复事件处理程序代码。
谢谢
c# - 将 RoutedEvent 或 RoutedCommand 冒泡到 ViewModel
我有一组 ViewModels,它们使用一种样式呈现为选项卡,以提取相关内容以显示在选项卡上:
这是 TabControl:
这是风格
我们正在创建一个用户控件的实例并将 TabViewModel 的“内容”属性设置为这样,以便用户控件显示在 TabItem 的内容区域中。
我的问题是,我想允许添加到 TabViewModel 的 Content 属性的 MyUserControl(或其任何子控件)被允许引发 TabViewModel 处理的事件。
有人知道我会怎么做吗?
我们已经尝试使用 RoutedEvents 和 RoutedCommands,但无法让任何东西 100% 工作并使其与 MVVM 兼容。我真的认为这可以通过 RoutedEvent 或 RoutedCommand 来完成,但我似乎无法让它工作。
注意:我已经删除了一些与 Prism 相关的特定代码,但如果您想知道为什么我们会做一些如此愚蠢的事情,那是因为我们试图通过使用 Prism 的 RegionManager 来保持与控制无关。
wpf - WPF中的触发器和事件有什么区别?
WPF 中触发器和事件的主要区别是什么?我们可以使用事件来做所有的事情,我们可以通过触发器来做,那么为什么我们需要触发器呢?
.net - RoutedEventArgs 与 EventArgs
我正在学习 WPF/Silverlight 并在 MS 视频广播中看到现在建议使用RoutedEventArgs
over EventArgs
;虽然它没有确切说明原因。
我有一个 win forms 应用程序,它使用“小部件”接口,试图不绑定到特定的显示技术(在 Presenters / ViewModels 中),所以如果我的 IButton Click 事件现在需要采取RoutedEventArgs
现在我猜它不是一样有用。
有人可以解释一下我是否应该在所有情况下都切换到RoutedEventArgs
,为什么?
顺便说一句,在我描述的时候,还有其他人有关于使用界面小部件的经验/意见吗?
wpf - WPF MVVM 路由事件
关于 MV-VM 和命令绑定 (RelayCommand) 的讨论很多,但在 MV-VM 模式中将路由事件绑定到处理程序的讨论不多。我想找到最好的方法。
下面是一个使用自定义事件和绑定到 VM 的事件处理程序的 RoutedEvent 绑定示例。
在我的 Vm 中,我会有一个与此类似的事件处理程序。
这只是从命令绑定的许多示例中得出的一个概念。我如何让它适用于路由事件。
asp.net - 在 Asp.Net 网页上禁用文本区域外的返回键(包含 ajax 代码)
我有一个 Asp.Net 网页,具有常见的 Asp.Net 表单。页面的外部“边框”(即主菜单、标题等)是使用普通 Asp.Net 代码使用母版页构建的。该页面的内容使用 jQuery 来显示动态表单并将数据发送到服务器。
如果我在该页面上按下返回键,我会跳转到(或多或少)随机页面——这不是用户所期望的。;-)
有一些文本区域,用户必须能够输入换行符。否则完全禁用返回键就可以了。有什么防弹方法可以做到这一点吗?
我在网上找到了一些解决方案,它们捕获按键事件并忽略 \x13,但这并没有真正起作用。只要页面刚刚加载,它就可以工作,但是一旦我点击了一些元素,返回键的行为就像往常一样。
任何提示将不胜感激!
阿奇姆
wpf - WPF 中的命令绑定内存泄漏
当我创建一个具有到 RoutedUICommand 的 CommandBinding 的用户控件时,我担心我会出现内存泄漏。
设想:
将 RoutedUICommand 作为 c 类中的静态对象,我在其中存储我的命令 在用户控件上实现 CommandBindings。将用户控件添加到主窗体。从主窗体中删除用户控件,将对它的引用设置为空。
命令绑定的 canExecute 继续触发。我没有对 UserControl 的引用,所以它泄露了。并且在表单关闭后会持续触发很长时间。(我还没有看到它停止)如果我强制垃圾收集它会被收集(好吧 canExecute 停止触发)
我有一个测试项目来说明这一点。我在 canExecute 中有一个 Console.WriteLine,它打印出触发该方法的对象的哈希码。它有一个添加新用户控件的按钮和一个删除它的按钮。
我不应该关心这个吗?如果强制,用户控件会被收集。这是否意味着它将在下一次收集时收集?我注意到我们的应用程序的性能下降并且正在跟踪内存泄漏等。我们有复杂的表单,其中包含很多 ui 元素,当从布局中删除时,它们会占用处理器和内存空间。(我们使用了很多命令)我认为一旦从可视化树中删除了某些东西,它就无法再接收路由事件。我错过了什么?
c# - WPF:带有额外信息的自定义路由事件
我有一个普通的 WPF 窗口,我们称它为TopLevel
其中有一堆控件,除其他外,ListView
它应该在应用程序的不同元素中记录某些事件。
所以假设我有一个Grid
其中TopLevel
包含一堆名为Task
. 每个Task
都有一个与它们关联的对象作为公共属性,我们称之为它Order
,以及一个标准复选框。
现在TopLevel
,每当用户选中 a 中的复选框时,我想接收一个事件Task
,但该事件也应该包含该Order
对象,因此我可以使用它TopLevel
来将其放入事件日志中。
我怎么做?我猜我想为它使用路由事件,但我不知道如何让复选框单击“查找”Order
以将其向上发送到TopLevel
.
c# - 自定义附加事件的处理程序
我正在使用我创建的自定义附加事件,我正在尝试向该事件添加处理程序
这里是 XAML 代码
我在 InitializeComponent 的运行时出现此错误
“System.String”类型的对象无法转换为“System.Windows.RoutedEventHandler”类型。
任何人都知道我为什么会收到这个错误?谢谢 !
这是我的事件代码
DropEventArgs 代码