Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#,WPF在代码隐藏中订阅外部事件_C#_.net_Wpf_Event Handling - Fatal编程技术网

C#,WPF在代码隐藏中订阅外部事件

C#,WPF在代码隐藏中订阅外部事件,c#,.net,wpf,event-handling,C#,.net,Wpf,Event Handling,我试图使用WPF中的代码隐藏在外部类中订阅事件,但显然失败了 我有一个外部库,它使用ActiveMQ.NMS API与代理通信并异步侦听主题。要执行第二步,我们需要注册一个名为consumer.Listener的事件。在创建引用库的WPF项目并尝试从代码隐藏订阅事件(在代码隐藏中,我调用了负责与代理通信的对象的实例,创建了处理程序并注册了它)之前,一切都很顺利 正如我现在所理解的,我的问题背后的原因是线程亲和力,但是我仍然希望知道如何从代码背后做我想做的事情,尽管大多数开发人员会立即鄙视我,即使

我试图使用WPF中的代码隐藏在外部类中订阅事件,但显然失败了

我有一个外部库,它使用ActiveMQ.NMS API与代理通信并异步侦听主题。要执行第二步,我们需要注册一个名为consumer.Listener的事件。在创建引用库的WPF项目并尝试从代码隐藏订阅事件(在代码隐藏中,我调用了负责与代理通信的对象的实例,创建了处理程序并注册了它)之前,一切都很顺利

正如我现在所理解的,我的问题背后的原因是线程亲和力,但是我仍然希望知道如何从代码背后做我想做的事情,尽管大多数开发人员会立即鄙视我,即使我考虑过这样的事情。顺便说一句:如果调试器想跳过方法中的一些行,而不给出任何理由,这有点可笑

另外,WPF中处理外部事件的推荐模式是什么


谢谢你的反馈:)

我假设当你说“外部事件”时,你只是指公共事件,由某种物体暴露出来。但是,在引用使用ActiveMQ.NMS API的库时,您使用了外部术语。。。因此,我假设在这种情况下,您的意思是它是一个代码库之外的库,您导入、引用的东西等等。如果我有误解,请更正/编辑您的帖子

假设“consumer”是您在项目中引用的库中的一个对象,一旦您实例化了“consumer”,您应该有一段代码,如下所示:

consumer.Listener += new WhateverTheHandlerEventArgsIsCalledHere(consumer_Listener);
在您输入完“new”后,如果您按tab键两次,intellisense将自动为您填写其余内容


我不知道你为什么认为大多数开发人员会因为你这么想而鄙视你。。。这通常是一个很好的实践。

需要代码示例。没有所谓的“外部事件”。事件就是事件,句号。我的回答能解决你的问题吗?(我知道那是很久以前的事了,但如果你还记得我的答案是否正确,我希望你能帮我打分。)。谢谢!:)