2015-10-30 48 views
0

我的氣球user control在應用程序最小化時會在托盤中打開。 所以我創建簡單Button這個氣球:如何從我的用戶控件到達我的主窗體控件

public partial class ApplicationBalloon : UserControl 
{ 
    private void btnStart_Click(object sender, RoutedEventArgs e) 
    { 

    } 
} 

當這個事件被觸發,我想點擊特定的按鈕在我的主要形式,所以我可以從我這UserControl達到我的主要形式controlls?

編輯

在我的c'tor後,主要形式有:

applicationBalloon = new ApplicationBalloon(); 
    applicationBalloon.BalloonClicked += applicationBalloon_BalloonClicked; 

在我User Control

public partial class ApplicationBalloon : UserControl 
{ 
    public event EventHandler<RoutedEventArgs> BalloonClicked; 
    public ApplicationBalloon() 
    { 
     InitializeComponent(); 
    } 

    private void btnStart_Click(object sender, RoutedEventArgs e) 
    { 
     if (BalloonClicked != null) 
      BalloonClicked(sender, e); 
    } 
} 

btnStart_Click是我的應用程序運行後allthough BalloonClicked是仍然null

回答

0

向氣球課添加活動,處理氣球課中的點擊並將參數傳遞給參與活動的人。

在你的氣球類:

public partial class ApplicationBalloon : UserControl 
{ 
    public event EventHandler<RoutedEventArgs> BalloonClicked; 

    private void OnButtonClicked(object sender, RoutedEventArgs e) 
    { 
     if (BalloonClicked != null) 
      BalloonClicked(sender, e); 
    } 
} 

您可以將處理程序現在添加到連接到您的BalloonClicked主要形式。

+0

後subcride到BalloonClicked在我的主窗體(後applicationBalloon = new ApplicationBalloon();)BalloonClicked仍然爲空。 –

+0

是否有可能實例化氣球的兩個實例(也許一個在XAML中,另一個在代碼中?)您可以通過在氣球構造函數中放置一個斷點來檢查它,並確保它只被命中一次。 (另外,請確保您的處理程序訂閱在您檢查BalloonClicked爲null之前被調用。) –

+0

只有一次,請查看我的編輯。 –

0

只是訪問:

Application.Current.MainWindow 

而且它轉換到任何你的主窗口類型。

相關問題