語言

TimePicker.SelectedTime 屬性

定義

取得或設定時間選擇器中目前選擇的時間。

public:
 property IReference<TimeSpan> ^ SelectedTime { IReference<TimeSpan> ^ get(); void set(IReference<TimeSpan> ^ value); };
IReference<TimeSpan> SelectedTime();

void SelectedTime(IReference<TimeSpan> value);
public System.Nullable<System.TimeSpan> SelectedTime { get; set; }
var iReference = timePicker.selectedTime;
timePicker.selectedTime = iReference;
Public Property SelectedTime As Nullable(Of TimeSpan)

屬性值

時間選擇器目前選擇的時間。

範例

在這裡,SelectedTime 屬性可用來比較選取的時間與目前時間。

請注意,由於 SelectedTime 屬性可為空,因此您必須將其明確轉換為 DateTime,如下所示:DateTime myTime = (DateTime)(DateTime.Today + checkTimePicker.SelectedTime);。

時間選擇器、按鈕和文字標籤。

<StackPanel>
    <TimePicker x:Name="checkTimePicker"/>
    <Button Content="Check time" Click="{x:Bind CheckTime}"/>
    <TextBlock x:Name="resultText"/>
</StackPanel>
private void CheckTime()
{
    // Using the SelectedTime property (nullable requires cast to DateTime).
    DateTime myTime = (DateTime)(DateTime.Today + checkTimePicker.SelectedTime);
    if (DateTime.Now >= myTime)
    {
        resultText.Text = "Your selected time has already past.";
    }
    else
    {
        string hrs = (myTime - DateTime.Now).Hours.ToString();
        string mins = (myTime - DateTime.Now).Minutes.ToString();
        resultText.Text = string.Format("Your selected time is {0} hours, {1} minutes from now.", hrs, mins);
    }
}

備註

時間選擇控制同時包含 Time/TimeChanged 與 SelectedTime/SelectedTimeChanged 兩個 API。 它們之間的差異在於 Time 不可為 Null,而 SelectedTime 可為 Null。

SelectedTime 的值用於填入時間選取器,預設為 null。 如果 SelectedTime 為 null,則 Time 屬性會設定為 0 的 TimeSpan ;否則, Time 值會與 SelectedTime 值同步處理。 當 SelectedTime 是 null 時,選取器處於「未設定」狀態,並顯示欄位名稱而不是時間。

除非你提供綁定到某個能追蹤應用程式運行時當前時間的數值的程式碼,否則時間不會即時增加(像時鐘會這樣)。

您可以將時間值設定為 XAML 中的屬性。 如果你已經在 XAML 裡宣告 TimePicker 物件,且沒有用時間值的綁定,這可能最簡單。 使用 Hh:Mm 的字串, Hh 是小時,介於0到23之間, Mm 是分鐘,介於0到59之間。 「0」可以是 Hh 或 Mm 的開頭字元,通常會加上以清楚表示 0 到 9 之間的任何值。 例如,「9:5」和「09:05」都有效且代表同一時間,但「09:05」在標記中較易讀懂。

要設定程式碼時間,根據你的程式語言,有不同的技術可用。 C# 或 Windows 的值以 System.TimeSpan 表示。C++ 的 Foundation.TimeSpan 版本。 產生適合 SelectedTimeSystem.TimeSpan 值的最簡單方法,可能是使用 TimeSpan.Parse靜態方法。 使用字串形式為 Hh:Mm (小時:分鐘)。

無論是在程式碼中設定還是 XAML,TimePicker 類別在你嘗試設定時,它會保留的值有強制邏輯。 任何天數的數值都被忽略。 秒數會被忽略(例如超過30秒的秒數不會向上取整到下一分鐘)。 分秒數則被忽略。 數值不會繞行(例如「24:00」的值無效)。該 TimeSpan 內的最小值為0(00:00,午夜),最大值為23:59。 值超出範圍會拋出例外,但根據具體情況,例外可能源自構造過程 TimeSpan ,而非驗證與強制 SelectedTime。

要在 C++ 中設定這個值, SelectedTime 你需要設定 DurationTimeSpan 結構的欄位。 Duration 指定以100奈秒單位為單位的時間;寫出你自己的邏輯來轉換和轉出小時:分鐘的表示。

你在程式碼或 XAML 中設定 SelectedTime 的任何值,都是指控制項中顯示的初始值。 在執行時,這個值通常由使用者在時間選擇器的飛出視窗中設定。 使用者選擇的時間會被設定,當使用者做出變更並按下時間選擇器飛出中的勾選按鈕來提交選擇時,就會觸發 SelectedTimeChanged 事件。

適用於

另請參閱