2010-02-04 61 views
1

使用WPF,它有一個Storyboard類有一個Completed事件。簡單的C#事件參數問題

我用它像這樣:

sb.Completed += AddControlToTaskbar; 

private void AddControlToTaskbar(object sender, EventArgs args) 
{ 
    //... 
} 

如何我通過在EventArgs我的方法?它總是空的,我需要它是一個自定義類

感謝 馬克

回答

5

你不通過EventArgs你的方法,其中調度該事件確實該框架。處理這方面的一個常用方法是要給你AddControlToTaskbar方法

sb.Completed += new MyCustomClass(theStateYouNeedToStore).AddControlToTaskbar; 

你的構造保存狀態的類存儲狀態,例如:。

class MyCustomClass<T> { 
    private T state; 
    public MyCustomClass(T state) { 
     this.state = state; 
    } 
    public void AddControlToTaskbar(object sender, EventArgs args) { 
     // Do what you need to do, you have access to your state via this.state. 
    } 
} 
+0

好的,是AddControlToTaskbar這個類的公共委託嗎? – Mark 2010-02-04 02:37:08

+0

我擴展了這個例子,希望它更清晰。 – 2010-02-04 02:42:53

+0

謝謝你,但我需要做的下一件事是確保在我運行'AddControlToTaskbar'方法後,我從故事板中刪除處理程序...我將如何從'AddControlToTaskbar'方法在另一個班級? – Mark 2010-02-04 02:58:42