DatePicker.SelectedDateChanged 이벤트

정의

날짜 값이 변경될 때 발생합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Controls.DatePicker.SelectedDateChanged(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

// 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" />

이벤트 유형

TypedEventHandler<DatePicker,DatePickerSelectedValueChangedEventArgs>

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;
}

설명

이 이벤트를 처리할 때 논리에 OldDate 이벤트 데이터의 속성과 NewDate 속성을 DatePickerSelectedValueChangedEventArgs 사용합니다. 이러한 속성은 프로그래밍 언어에 따라 다른 데이터 형식을 사용하며(C# 및 system.DateTimeOffset을 사용하는 Visual Basic; Visual C++ 구성 요소 확장(C++/CX)은 Windows::Foundation::D ateTime)을 사용합니다.

적용 대상

추가 정보