C# WPF显示包含var内容的对话框

C# WPF显示包含var内容的对话框,c#,wpf,showdialog,C#,Wpf,Showdialog,我试图做到以下几点: 一个WPF应用程序,其中我有多个按钮,您可以在其中设置通知消息。 根据按钮的不同,您可以设置不同的消息 我所做的是,在消息按钮上我输入了以下代码: private void button1_Click(object sender, RoutedEventArgs e) { CounterMessage msgOne = new CounterMessage(); msgOne.ShowDialog(); } 这将打开一个新的WPF窗口,这里只有一个文本

我试图做到以下几点:

一个WPF应用程序,其中我有多个按钮,您可以在其中设置通知消息。 根据按钮的不同,您可以设置不同的消息

我所做的是,在消息按钮上我输入了以下代码:

private void button1_Click(object sender, RoutedEventArgs e)
 {
    CounterMessage msgOne = new CounterMessage();
    msgOne.ShowDialog();
 }
这将打开一个新的WPF窗口,这里只有一个文本框和一个退出按钮。 在此消息窗口中退出时,它会将消息保存到参数中

但这里有个诀窍。 我想使用此消息窗口进行多个通知,如果应用程序中的字符串中已经存在任何文本内容,它将在文本框中显示任何文本内容

例如: 在主应用程序中,我有按钮A和B来设置通知。 我点击按钮A,显示对话框弹出,文本框中已经有“你点击了按钮A” 如果单击的是按钮B,则应显示“您单击了按钮B”

所以我应该在ShowDialog中发送一些额外的信息,这样我就可以使用messagewindow来处理每一个信息。 有人能帮我一点忙吗

我必须说,我发现要体面地描述我想要什么有点困难,所以我希望我说得足够清楚

编辑
因此,我想要的是将字符串参数的内容(确切地说:Properties.Settings.Default.XXX)显示到Countermessage窗口中的文本框中

我不完全确定您在问什么,但听起来您想要这样的内容。我假设CounterMessage是一个窗口,并且有一些绑定机制或属性显示消息的内容

        Button btn = (Button)sender;
        Debug.WriteLine(btn.Name);
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(..)

no我想要的是将字符串参数的内容(确切地说:Properties.Settings.Default.XXX)显示到Countermessage窗口中的文本框中OK,因此将其传递到类中。关键是,不能在ShowDialog调用中传递某些内容-需要将某些内容传递给基础类(窗口)。