2014-01-12 52 views
0

我有一個MainWindow類,這是應用程序的主窗口。我在MainWindow類的下面創建了另一個類,並且需要將事件添加到在MainWindow中創建的Canvas。我想添加爲事件的方法也在MainWindow中。如何從另一個類添加Canvas事件? WPF C#

public partial class MainWindow : Window 
{ 
    public void Moving(object sender, MouseEventArgs e) 
    { 
     bla bla; 
    } 

     public Canvas Getcanvas 
     { 
      get 
      { 
      return canvas; 
      } 
     } 
} 


public class Ka 
{ 
     public Ka() 
     { 
      MainWindow.Getcanvas.MouseMove += new MouseEventHandler(//HERE!!! I DONT KNOW WHAT GOES HERE, here should probably be MainWindow.Moving but I get error "An object reference.." 
     } 

} 

請幫幫我!

+1

'MainWindow.Getcanvas'將導致錯誤,因爲'getcanvas'不是靜態的。任何方式,寫在那裏(基本上),你會寫在正常場合的相同的東西。 – elyashiv

+1

如果畫布位於MainWindow中,並且MainWindow方法應該處理畫布中的(鼠標)事件,爲什麼不將相應的代碼放在MainWindow類中?有什麼理由要** Ka **? '公共課嘉' - EPIC – elgonzo

+2

。請在嘗試執行復雜的WPF GUI工具之前,通過在控制檯應用程序中執行「Hello,World!」類型的東西來正確學習'OOP'和'C#'。在完成之後,請在WPF中編寫一行代碼之前,先學習MVVM。 –

回答

0
var mainWindowInstant = (MainWindow)App.Current.MainWindow; 
mainWindowInstant.Getcanvas.MouseMove += new MouseEventHandler(...);