DatePicker.DateChanged 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當日期值被更改時會發生。
// Register
event_token DateChanged(EventHandler<DatePickerValueChangedEventArgs> const& handler) const;
// Revoke with event_token
void DateChanged(event_token const* cookie) const;
// Revoke with event_revoker
DatePicker::DateChanged_revoker DateChanged(auto_revoke_t, EventHandler<DatePickerValueChangedEventArgs> const& handler) const;
public event System.EventHandler<DatePickerValueChangedEventArgs> DateChanged;
function onDateChanged(eventArgs) { /* Your code */ }
datePicker.addEventListener("datechanged", onDateChanged);
datePicker.removeEventListener("datechanged", onDateChanged);
- or -
datePicker.ondatechanged = onDateChanged;
Public Custom Event DateChanged As EventHandler(Of DatePickerValueChangedEventArgs)
<DatePicker DateChanged="eventhandler" />
事件類型
範例
這裡有一個事件處理器的範例 DateChanged 。
<StackPanel>
<DatePicker x:Name="arrivalDatePicker" Header="Arrival date"
DateChanged="ArrivalDatePicker_DateChanged"/>
<TextBlock x:Name="arrivalText"/>
</StackPanel>
DateTime arrivalDateTime;
private void ArrivalDatePicker_DateChanged(object sender, DatePickerValueChangedEventArgs e)
{
if (VerifyDateIsFuture(arrivalDatePicker.Date) == true)
{
arrivalDateTime = new DateTime(e.NewDate.Year, e.NewDate.Month, e.NewDate.Day);
arrivalText.Text = string.Format("Thank you. Your arrival is set for {0}.",
arrivalDateTime.Date.ToString("D"));
}
else
{
arrivalText.Text = "Arrival date must be later than today.";
}
}
private bool VerifyDateIsFuture(DateTimeOffset date)
{
if (date > DateTimeOffset.Now)
{
return true;
}
return false;
}
備註
處理這個事件時,請使用 DatePickerValueChangedEventArgs 事件資料中的 OldDate 和 NewDate 屬性作為邏輯。 這些屬性會根據你的程式語言使用不同的資料型態(C# 使用 System.DateTimeOffset;C++ 使用 Windows。Foundation.DateTime)。