1

我尝试完成以下工作:

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

我所做的是在消息按钮上我放了这段代码:

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

这将打开一个新的 WPF 窗口,这里只有一个文本框和一个退出按钮。在此消息窗口中退出时,它会将消息保存到参数中。

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

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

所以我应该用 ShowDialog 发送一些额外的信息,这样我就可以使用每个消息窗口。有人可以帮我一下吗?

我必须说我觉得很难体面地描述我想要的东西,所以我希望我让自己足够清楚。

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

4

2 回答 2

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(....)

于 2012-04-04T13:47:06.560 回答
0
        Button btn = (Button)sender;
        Debug.WriteLine(btn.Name);
于 2012-04-04T13:03:14.180 回答