0

C# で WPF プログラムを検証して、ユーザーが DatePicker イベントに日付を入力したことを確認しようとしています。ユーザーが日付を入力していない場合は、プログラム全体を再度実行する前に、ユーザーがデータを再入力できるようにしたいと思います。ユーザーが 1 未満または 10 を超える数値を入力した場合にも同じことをしたいと思います。

「テキストボックス」イベントは UserInput と呼ばれ、DatePicker は「RequestedDate」と呼ばれます

私のコード:

if (int.TryParse(UserInput.Text, out numberEntered))
{

    while (DateRequested.SelectedDate == null)
    {
        MessageBox.Show("You have not input a valid date");
        Output.Text = "Please try again";

    }

       while (numberEntered < 1 || numberEntered > 10)
    {
        MessageBox.Show("You can only book tickets with values more than one or less than 10");
        Output.Text = "Please try again";
        break;
    }

    Output.Text = "Number of tickets selected: " + UserInput.Text + "Date: " + DateRequested.Text;
}
4

2 に答える 2

0

ここにはいくつかの問題があります。

1 - UI 要素は「イベント」ではないため、 TextBox Event.

2 - UI はデータではありません。したがって、ViewModel でロジックを抽象化し、それに対して操作する必要があります。

XAML を投稿してください。回答を編集して、これを実装する適切な方法を示します。

于 2013-02-19T20:30:43.500 に答える
0

TextBox.TextをオブジェクトにバインドするだけでDateTime、入力されたデータが正しくない場合にTextBox.

DateTime必須である場合は、検証のValidationRuleためにを設定するTextBox必要があります。この UI ロジックをすべてモデルにドラッグする必要はありません。

于 2013-02-19T22:57:42.340 に答える