2011-05-25 58 views
1

我想在WPF中使用代码隐藏在外部类中订阅事件,我显然失败了。C#,WPF在代码隐藏中订阅外部事件

我有一个外部库,它使用ActiveMQ.NMS API与代理进行通信并异步监听主题。要做第二次,我们需要注册一个名为consumer.Listener的活动。一切工作都很完美,直到创建一个引用库的WPF项目并试图从代码隐藏(在我调用负责与代理进行通信的对象实例,创建处理程序并注册它的代码之后的代码)中订阅事件。

据我现在了解我的问题背后的原因是线程相关性,但是我仍然很想知道如何做我想从代码隐藏中做什么,即使大多数开发人员会立即鄙视我,甚至想到这样的一个东西。作为一个方面说明:调试器没有任何理由,只是在方法中跳过一些行,如果感觉这样做的话,有点有趣。

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

感谢您的反馈:)

+0

需要代码示例。没有什么是“外部事件”。事件是事件,时期。 – Euphoric 2011-05-25 06:02:46

+0

我的答案能解决你的问题吗? (我知道这是前一阵子,但如果你记得我的回答是否正确,我会很感激你的标记)。谢谢! :) – 2012-04-24 09:53:21

回答

0

我要去假设当你说“外部事件”你只是意味着公共事件,通过某种类型的对象公开。然而,在引用使用ActiveMQ.NMS API的库时,使用术语“外部”...因此,我假定在该上下文中,您的意思是它是您的代码库之外的库,您导入的内容,引用等。请更正/编辑您的帖子,如果我误解。

假设“消费者”是你和你的项目中引用的库中的对象,一旦你实例化“消费”,你应该有一段代码,看起来像什么:

consumer.Listener += new WhateverTheHandlerEventArgsIsCalledHere(consumer_Listener); 

完成输入后在“新”中,如果您按Tab键两次,智能感应应自动为您填写其余的内容。

我不知道你为什么认为大多数开发人员会因为思考而鄙视你......这通常是一种很好的做法。