次の方法で共有


DatePicker.SelectedDateChanged イベント

定義

日付の値が変更されたときに発生します。

// Register
event_token SelectedDateChanged(TypedEventHandler<DatePicker, DatePickerSelectedValueChangedEventArgs const&> const& handler) const;

// Revoke with event_token
void SelectedDateChanged(event_token const* cookie) const;

// Revoke with event_revoker
DatePicker::SelectedDateChanged_revoker SelectedDateChanged(auto_revoke_t, TypedEventHandler<DatePicker, DatePickerSelectedValueChangedEventArgs const&> const& handler) const;
public event TypedEventHandler<DatePicker,DatePickerSelectedValueChangedEventArgs> SelectedDateChanged;
function onSelectedDateChanged(eventArgs) { /* Your code */ }
datePicker.addEventListener("selecteddatechanged", onSelectedDateChanged);
datePicker.removeEventListener("selecteddatechanged", onSelectedDateChanged);
- or -
datePicker.onselecteddatechanged = onSelectedDateChanged;
Public Custom Event SelectedDateChanged As TypedEventHandler(Of DatePicker, DatePickerSelectedValueChangedEventArgs) 
<DatePicker SelectedDateChanged="eventhandler" />

イベントの種類

Windows の要件

デバイス ファミリ
Windows 10, version 1809 (10.0.17763.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v7.0 で導入)

イベント ハンドラーの例を次に SelectedDateChanged 示します。 より多くのコンテキストでこの例を確認するには、「 予定表、日付、時刻コントロール - 日付の選択と時刻の選択を一緒に使用する」を参照してください。

<StackPanel>
    <DatePicker x:Name="arrivalDatePicker" Header="Arrival date"
                SelectedDateChanged="ArrivalDatePicker_SelectedDateChanged"/>
    <TextBlock x:Name="arrivalText"/>
</StackPanel>
DateTime arrivalDateTime;

private void ArrivalDatePicker_SelectedDateChanged(DatePicker sender, DatePickerSelectedValueChangedEventArgs args)
{
    if (arrivalDatePicker.SelectedDate != null)
    {
        if (VerifyDateIsFuture((DateTimeOffset)arrivalDatePicker.SelectedDate) == true)
        {
            arrivalDateTime = new DateTime(args.NewDate.Value.Year, args.NewDate.Value.Month, args.NewDate.Value.Day);

            arrivalText.Text = arrivalDateTime.ToString();
        }
        else
        {
            arrivalDatePicker.SelectedDate = null;
            arrivalText.Text = "Arrival date must be later than today.";
        }
    }
}

private bool VerifyDateIsFuture(DateTimeOffset date)
{
    if (date > DateTimeOffset.Now)
    {
        return true;
    }
    return false;
}

注釈

このイベントを処理するときは、ロジックの DatePickerSelectedValueChangedEventArgs イベント データの OldDate プロパティと NewDate プロパティを使用します。 これらのプロパティは、プログラミング言語に応じて異なるデータ型を使用します (C# と Visual Basic では System.DateTimeOffset を使用します)。Visual C++ コンポーネント拡張機能 (C++/CX) では 、Windows::Foundation::D ateTime) が使用されます。

適用対象

こちらもご覧ください