2012-04-04 101 views
1

我嘗試完成以下操作:WPF showdialog帶var內容的文本框

WPF應用程序,其中有多個按鈕,您可以在其中設置通知消息。 根據按鈕,您可以設置不同的消息。

我的所作所爲,是對消息按鈕我已經把這段代碼:

private void button1_Click(object sender, RoutedEventArgs e) 
{ 
    CounterMessage msgOne = new CounterMessage(); 
    msgOne.ShowDialog(); 
} 

這將在這裏開運一個新的WPF窗口僅是一個文本框和退出按鈕。 在退出這個消息窗口,它將消息保存到參數。

但這裏的伎倆。 我想用這個消息窗口的多個通知,如果任何已經存在的應用程序中的字符串時,它會在文本框中顯示任何文本內容。

因此,例如: 在主應用程序我有按鈕A,B設定的通知。 我點擊按鈕A,調用ShowDialog彈出,在文本框中已經有「你按下按鈕A」 如果是已經被點擊,它應該顯示「您單擊按鈕B」

所以我應該按鈕B發送一些額外的信息與ShowDialog,所以我可以使用每個人的消息窗口。 有人能幫我一下herE嗎?

我必須說,我覺得這是一個有點硬不端正discribe我想要的東西,所以我希望我自己很清楚。

編輯 所以帽子,我想呈現出字符串參數的內容(確切的說:Properties.Settings.Default.XXX)成在Countermessage窗口的文本框中

回答

3

我不是完全確定你在問什麼,但這聽起來像你想要這樣的事情。我假設CounterMessage是一個窗口,並且有一些綁定機制或屬性顯示消息的內容。然後

public class CounterMessage : Window 
{ 
    public CounterMessage(string message) 
    { 
     this.Message = message; 
    } 

    public string Message 
    { 
     get; 
     set; 
    } 
} 

你的按鈕事件將是沿着線的東西:

private void button1_Click(object sender, RoutedEventArgs e) 
{ 
    Button btn = sender as Button; 
    CounterMessage msgOne = new CounterMessage(btn.Text); 
    msgOne.ShowDialog();  
} 

問題的關鍵是,你不送東西ShowDialog方法,而是在類是對話框本身。我也假定對話框不僅僅是顯示消息 - 否則,你只會使用MessageBox.Show(....)

+0

沒有我想要的是顯示字符串參數的內容(準確地說:Properties.Settings.Default.XXX)那就是在Countermessage窗口 – Dante1986 2012-04-04 15:55:44

+0

確定文本框,所以傳遞到類代替。問題是,你不能在ShowDialog調用中傳遞某些東西 - 你需要將某些東西傳遞給底層類(窗口)。 – 2012-04-04 16:58:29

+0

它可以工作:) thanx – Dante1986 2012-04-04 17:27:04

0
 Button btn = (Button)sender; 
     Debug.WriteLine(btn.Name);