1

私は次のことを成し遂げようとします:

通知メッセージを設定できる複数のボタンがある WPF アプリケーション。ボタンによって、異なるメッセージを設定できます。

私がしたことは、私がこのコードを入れたメッセージボタンでした:

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

これにより、新しい WPF ウィンドウが開きます。ここでは、テキスト ボックスと終了ボタンのみが表示されます。このメッセージ ウィンドウを終了すると、メッセージがパラメーターに保存されます。

しかし、ここにトリックがあります。このメッセージ ウィンドウを複数の通知に使用したいのですが、アプリケーション内の文字列に既にテキスト コンテンツがある場合は、テキスト ボックスにテキスト コンテンツが表示されます。

例:メインアプリには、通知をオンにするボタンAとBがあります。ボタンAをクリックすると、showdialogがポップアップし、テキストボックスに「ボタンAをクリックしました」が表示されますクリックされたのがボタンBの場合、「ボタンBをクリックしました」と表示されます

したがって、ShowDialog で追加情報を送信する必要があるため、それぞれにメッセージウィンドウを使用できます。誰か助けてくれませんか?

私が欲しいものをきちんと説明するのは少し難しいと言わざるを得ないので、私が自分自身を十分に明確にしたことを願っています.

編集したがって、文字列パラメーターの内容(正確には、Properties.Settings.Default.XXX)をカウンターメッセージウィンドウにあるテキストボックスに表示したい

4

2 に答える 2

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

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