问题标签 [routedeventargs]

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 回答
257 浏览

c# - RoutedEventArgs.Source 去哪儿了?

我刚刚下载了一个 Silverlight 应用程序的源代码,并高兴地发现似乎只有一个错误使我无法编译它:

尽管文档说它在那里,但 RoutedEventArgs 中似乎没有 Source 。

知道 RoutedEventArgs.Source 去哪儿了吗?

0 投票
1 回答
159 浏览

routedevent - 为什么我的隧道事件参数对象和冒泡事件参数对象不相等?

我正在阅读 70-511 这本书,并且正在查看有关 Routed Events 的部分。我注意到它提到冒泡隧道事件对共享相同的 EventArgs 实例,因此如果您处理隧道事件(例如 PreviewMouseDown),它会停止配对的冒泡事件(例如 MouseDown);我已经尝试过了,它可以工作......但是,如果我每次触发事件处理程序时测试是否相等(出于测试目的,我对两个事件都使用 1 个事件处理程序),似乎 EventArgs 不是同一个实例(即它们有不同的哈希值并且 Object.Equals 返回 false)...如果我能弄清楚为什么会这样,这将大大提高我对路由事件如何工作的理解!

有我们愿意解释的 .NET 专家吗?

我查看了 Pro WPF 书(优秀的书),这也只是说:“为了让生活更有趣,如果你将隧道事件标记为已处理,冒泡事件将不会发生。那是因为这两个事件共享RoutedEventArgs 类的相同实例。”

如果这两个事件共享一个类的相同实例,那么 eventargs 是否应该具有相同的哈希值并为 Object.Equals 返回“True”?

XAML:

0 投票
3 回答
34738 浏览

c# - 使用 RoutedEventArgs 传递变量?

我有以下课程,并希望将文本变量作为 RoutedEventArgs 传递。

这是来自 Window1 的代码,它是 WPF 应用程序中的主类

我希望能够在 CloseTab 方法中打印“字符串文本”的值。如何使用 RoutedEventArgs 参数传递“字符串文本”?

此致!

编辑

我对项目进行了一些更改,这是代码

ClosableTabItem.cs

TabsEventArgs.cs

窗口1.cs

进行更改后(当我打开多个选项卡时应用程序崩溃),您将如何访问 Window1 类的 CloseTab 方法中的“字符串文本”?

0 投票
1 回答
546 浏览

c# - 如何使用动态创建的子元素中的路由事件?

我的 MainWindow 中有一个事件作为路由事件从我的一个子控件中触发。MainWindow 有一个 AddHandler 调用来捕捉路由火灾。

我想从另一个子元素触发同样的事件,但是这个元素(一个 menuItem)是动态创建的,所以当我尝试在 MainWindow 中使用 AddHandler 时,比如:

我得到一个空参数异常,因为 MyMenuItem 还不存在。

有人知道我仍然可以使用路由事件的方法吗?

0 投票
1 回答
133 浏览

kinect - RoutedEventArgs 和 AllFramesEventArgs

我正在尝试调用一个函数,其参数是 object sender 和 RoutedEventsArg e。我需要这些参数,因为我在主窗口上创建了一个与此功能相关的按钮,当我单击该按钮时,它链接到我的功能。

在另一个函数中,我需要调用上述函数,但是第二个函数的参数是 AllFramesReadyArg e,而不是 RoutedEventsArg e。那么我如何调用第一个函数

0 投票
1 回答
296 浏览

c# - 无法恢复在 XAML 中单击的菜单项的名称

我正在尝试恢复单击的菜单项的名称,但它始终返回一个空字符串:

XAML:

menuitems.count 也始终为 0。我怎么知道用户点击了哪个 menuItem?

0 投票
3 回答
519 浏览

c# - 如何比较 xaml 页面与 e.OriginalSource?

我有一个如下所示的方法:

此方法将在我的 viewModel 中。从断点,我可以看到这个 e.OriginalSource 有我的 xaml 页面somePages作为值。因此,我试图比较价值。但它给了我如下警告:

所以我更新了我的代码,if((System.Type)e.OriginalSource == typeof(a.b.c.somePages))但警告仍然存在。我可以知道有什么问题吗?

0 投票
1 回答
1159 浏览

c# - 如何将自定义 RoutedEventArgs 与 MenuItem 单击事件一起使用

我是 C# / WPF 的新手,试图在 MVVC 架构中开发应用程序。我有一些构成我的 DAL 的类(它们使用 EF 引用 localdb),并且我有一些构成 ViewController 的类。ViewController 对象填充了一个使用 DAL 对象作为参数的方法,该方法查询 Db 以填充一些 ObservableCollections,这些 ObservableCollections 最终绑定到我的 UI 中的 DataGrids。ViewController 对象使用事件绑定到 DAL 对象,这样每当 DAL 对象将更改写入 Db 时,ViewController 就会重新运行更新方法,因此 UI 会重新填充新数据。

我想使用 MenuItem_click 事件来更改 Db,然后让 UI 反映这一点。使用现有结构,我想我需要以某种方式将 DAL 对象传递给 MenuItem_click 处理程序,以便 ViewController 将收到 Db 更改的通知并进行相应更新。同样,如果我在 click 事件处理程序中创建了一个新的 DAL 对象,我需要传入 ViewController 对象,以便它可以绑定到新的 DAL 对象——所以同样的问题。

我无法弄清楚如何将其他参数传递给 MenuItem_click 处理程序。

我创建了一个派生的自定义 RoutedEventArgs 类(其中 DbSymbol 是 DAL 对象):

但是我之前使用 XAML 连接事件处理程序(它使用 Click="ClearAllMenuItem_Click" 自动附加到 .Click 并神奇地自动生成了 RoutedEventArgs),我无法确切地弄清楚幕后发生了什么来复制它我自己有代码隐藏,我认为这对于这样的事情是必要的。

这是我尝试过的:

这甚至不会编译,因为 clearAllDataMenuItem_Click 返回 void 类型,但 clearAllDataMenuItem.Click 需要 RoutedEventHandler。总的来说,我对事件相当陌生,所以请原谅我的无知。有人可以帮忙,或者指出我正确的方向吗?

谢谢!

0 投票
2 回答
269 浏览

c# - prevent wpf button from functioning if a specific value is false

i have a button that should show some content If the name_checked return true

• C# :

• wpf xaml :

└─ output Error : (InvalidOperationExction was unhandled)

What i want is : to stop the Button from acting if the the Boolean name_checked return false
i dont want any message to show at all if the Boolean return false , even Errors

  • so am using it correct or not ?? . if not please show me the right way.
0 投票
1 回答
311 浏览

c# - 为什么 TextBlock 不是路由事件上的 OriginalSource?

我正在为ListView. 上下文菜单附加到TextBlocksListView如下。

上下文菜单正确显示并且 RoutedUIEvent 也被触发。问题是在 Executed 回调中ExecutedRoutedEventArgs.OriginalSource是 ListViewItem 而不是 TextBlock。

我尝试设置IsHitTestVisible属性以及Background(见下文),因为 MSDN 说OriginalSource 由命中测试确定

请注意,我使用 GridView 作为 ListView 中的视图。这就是我想要进入 TextBlock 的原因(获取列索引)

主窗口

主窗口.xaml.cs