Share via


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 屬性是可為 Null 的,所以您必須明確地將它 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);
    }
}

備註

時間選擇器控件同時具有TimeChanged/ 和 SelectedTime/SelectedTimeChanged API。 這兩者之間的差異是 Time 不可為 Null,而 SelectedTime 可為 Null。

的值 SelectedTime 是用來填入時間選擇器,預設為 null 。 如果 為 SelectedTimenull,則 Time 屬性會設定為 0 的 TimeSpanTime 否則值會與 SelectedTime 值同步處理。 當 為 nullSelectedTime,選擇器為 'unset' 並顯示功能變數名稱,而不是時間。

除非您提供程式代碼系結至執行應用程式時追蹤目前時間的某些值,否則時間不會以即時方式遞增 (,例如時鐘會) 。

您可以將時間值設定為 XAML 中的屬性。 如果您已在 XAML 中宣告 TimePicker 物件,而且未針對時間值使用系結,則可能最容易。 使用 HhMm 格式的字串,其中 Hh 為小時,且介於 0 到 23 之間, 且 Mm 為分鐘數,且介於 0 到 59 之間。 “0” 可以是 HhMm 中的初始字元,而且通常會包含 ,以便清楚瞭解任何值 0 到 9。 例如,“9:5” 和 “09:05” 都是有效的,同時代表相同的時間,但 “09:05” 更容易在標記中讀取。

若要在程式代碼中設定時間,您可以根據程式設計語言提供不同的技術。 此值以 System.TimeSpan for C# 和 Visual Basic 表示,或 Windows.Foundation.TimeSpan for Visual C++ 元件延伸模組 (C++/CX) 。 產生適合SelectedTime的 System.TimeSpan 值可能最簡單的方式是使用 TimeSpan.Parse靜態方法。 使用 HhMm (小時:分鐘) 格式的字串。

無論是在程式代碼或 XAML 中設定, TimePicker 類別都有它嘗試設定時所保留值的強制邏輯。 任何天數的值都會被忽略。 秒數會忽略 (例如,超過 30 秒的秒數不會進位到下一分鐘) 。 略過小數秒。 值不會包裝 (,例如 「24:00」 的值無效。) 內的 TimeSpan 最小值是 0 (00:00、午夜) ,最大值為 23:59。 超出範圍的值會擲回例外狀況,但視例外狀況的特定情況而定,例外狀況可能源自建構, TimeSpan 而不是來自的 SelectedTime驗證和強制。

若要在 Visual C++ 元件延伸模組中設定 SelectedTime 值, (C++/CX) ,您可以設定 DurationTimeSpan 結構的欄位。 Duration 指定以 100 奈秒為單位的時間;撰寫您自己的邏輯,以轉換到小時:分鐘表示法。

您在程式代碼或 XAML 中設定 SelectedTime 的任何值,都是指定 控制件中顯示的初始值。 在運行時間的應用程式中,該值通常是由時間選擇器飛出視窗中的用戶所設定。 設定使用者選取的時間,而且當使用者進行變更並按下時間選擇器飛出視窗中的複選標記按鈕來認可其選取範圍時, 就會發生 SelectedTimeChanged 事件。

適用於

另請參閱