2012-08-03 60 views
0

聽就可以了我有一個用戶控件A.提高在用戶控件一個事件,並在主窗口

在代碼隱藏文件我想提出一個特定事件(由我創建)。

現在我想讓主窗口(包含用戶控件)正在監聽事件。

在WindowsForms我這樣使用:

namespace MyProgramm 
{ 
    public partial class MyClass 
    { 
     public MyClass() 
     { 
      InitializeComponent(); 
      DataContext = this; 
     } 

     internal event MyEventHandler MyEvent; 

     private void RaiseMyEvent() 
     { 
      if (MyEvent!= null) 
      { 
       MyEvent(this, ...); 
      } 
     } 

     public string Name { get; set; } 

    } 

    internal delegate void MyEventHandler (MyClass sender, ...); 
} 

我怎樣才能解決這個問題,在WPF的好方法?

+0

完全相同的方式,除了'internal'聲明也許應當'public',你應該考慮使用[事件處理(http://msdn.microsoft.com/en-us/ library/db0etb8x.aspx)而不是您自己的事件處理程序類型。你的問題在哪裏? – Clemens 2012-08-03 11:00:06

+0

@Clemens我沒有問題,我只想問是否有其他方法。 – David 2012-08-03 11:01:56

回答

1

在我看來,更好使用EventHandler而不是你自己的委託類型。

此外,如果該類是公共的並且具有公共構造函數,那麼可以使其公開爲MyEvent

public event EventHandler<MyEventArgs> MyEvent; 
相關問題