繁体   English   中英

WPF 带有 var 内容的 showdialog 文本框

[英]WPF showdialog Textbox with var content

我尝试完成以下工作:

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

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

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

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

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

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

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

我必须说我发现很难正确描述我想要的东西,所以我希望我说得够清楚了。

编辑所以我想要的是将字符串参数的内容(准确地说:Properties.Settings.Default.XXX)显示到反消息window中的文本框中

我不完全确定你在问什么,但听起来你想要这样的东西。 我假设 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 方法发送内容,而是向对话框本身的 class 发送内容。 我还假设该对话框不仅仅显示消息 - 否则,您只需使用MessageBox.Show(....)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM