2011-05-25 43 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鍵兩次,智能感應應自動爲您填寫其餘的內容。

我不知道你爲什麼認爲大多數開發人員會因爲思考而鄙視你......這通常是一種很好的做法。