2012-04-04 57 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);