我尝试完成以下操作:
一个WPF应用程序,我有多个按钮,您可以在其中设置通知消息。 根据按钮的不同,您可以设置不同的消息。
我做了什么,是在我输入此代码的消息按钮上:
private void button1_Click(object sender, RoutedEventArgs e)
{
CounterMessage msgOne = new CounterMessage();
msgOne.ShowDialog();
}
这将打开一个新的WPF窗口,这里只有一个文本框和一个退出按钮。 退出此消息窗口时,它会将消息保存到参数。
但这是诀窍。 我想将此消息窗口用于多个通知,如果应用程序中的字符串已经存在任何文本内容,它将在文本框中显示。
所以例如: 在主应用程序中,我有按钮A和B来设置通知。 我点击按钮A,showdialog弹出,在文本框中已经有“你点击按钮A” 如果是单击了按钮B,则应显示“您单击按钮B”
所以我应该使用ShowDialog发送一些额外的信息,所以我可以使用每个消息窗口。 有人可以帮我一点吗?
我必须说我觉得有点难以正确地描述我想要的东西,所以我希望我能让自己清楚明白。
EDIT 所以我想要的是将一个字符串参数(确切地说是:Properties.Settings.Default.XXX)的内容显示在Countermessage窗口中的文本框中
答案 0 :(得分:3)
我不完全确定你在问什么,但听起来你想要这样的东西。我假设CounterMessage是一个Window,并且有一些绑定机制或属性显示消息是什么。
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(....)
答案 1 :(得分:0)
Button btn = (Button)sender;
Debug.WriteLine(btn.Name);