2016-03-10 56 views
1

我在我的WPF窗口中使用控件,並且基於用戶交互,我必須訂閱不同的控件ValueChanged/VisibilityChanged事件。是否有任何檢查事件是否已訂閱,以便我不應再訂閱它。有什麼辦法可以找到事件是否已經訂閱

其實我正在尋找事件訂閱的最佳實踐,以便對象只能訂閱一次其他對象的事件。

+1

http://stackoverflow.com/questions/2697247/how-to-determine-if-an-event-is-already-subscribe?rq=1應該是你正在尋找的。 –

+0

或者你可以做到這一點,而不需要設置一大堆boooleans http://stackoverflow.com/questions/136975/has-an-event-handler-already-been-added – BugFinder

回答

0

如果事件變量爲空,則沒有事件訂閱。

0

正如你所知道的語法創建活動是這樣的:

public delegate void YourEventHandlerName(EventArgs e); 
public event YourEventHandlerName EventName; 

所以,現在,如果你正在創建你的事件,這樣的方式比你必須檢查空爲您的活動,如:

if(EventName != null) 
{ 
    //your code 
} 

如果上述條件成立,表明您的活動已經註冊/訂閱。

相關問題