C#,WPF在代码隐藏中为外部事件订阅
本文关键字:外部 事件 隐藏 WPF 代码 | 更新日期: 2023-09-27 17:57:32
我试图使用WPF中的代码隐藏订阅外部类中的事件,但显然失败了。
我有一个外部库,它使用ActiveMQ.NMS API与代理通信并异步侦听主题。要完成第二步,我们需要注册到一个名为consumer.Listener的事件。在创建一个引用库的WPF项目并尝试从代码隐藏订阅事件之前,一切都很顺利(在代码隐藏中,我调用了一个负责与代理通信的对象的实例,创建了处理程序并注册了它)。
正如我现在所理解的,我的问题背后的原因是线程亲和性,然而,我仍然很想知道如何在代码背后做我试图做的事情,尽管大多数开发人员会立即鄙视我,因为我甚至想过这样的事情。顺便说一句:有点有趣的是,调试器在没有给出任何理由的情况下,如果想跳过方法中的一些行,就会跳过。
此外,在WPF中处理外部事件的推荐模式是什么?
感谢您的反馈:)
我假设当你说"外部事件"时,你只是指由某种对象公开的公共事件。但是,当引用使用ActiveMQ.NMS API的库时,您使用术语"外部"。。。所以我认为在这种情况下,你的意思是它是你的代码库之外的一个库,你导入的东西,引用的东西等等。如果我误解了,请更正/编辑你的帖子。
假设"consumer"是您在项目中引用的库中的一个对象,那么一旦实例化了"consumer",您就应该有一段代码,看起来像:
consumer.Listener += new WhateverTheHandlerEventArgsIsCalledHere(consumer_Listener);
在你输入完"new"后,如果你按两次tab键,intellisense应该会自动为你填写其余的内容。
我不知道为什么你认为大多数开发人员会因为你这么想而鄙视你。。。这通常是一个很好的练习。