TimePicker.SelectedTime 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定目前在時間選擇器中選取的時間。
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
。 如果 為 SelectedTime
null
,則 Time
屬性會設定為 0 的 TimeSpan , Time
否則值會與 SelectedTime
值同步處理。 當 為 null
時SelectedTime
,選擇器為 'unset' 並顯示功能變數名稱,而不是時間。
除非您提供程式代碼系結至執行應用程式時追蹤目前時間的某些值,否則時間不會以即時方式遞增 (,例如時鐘會) 。
您可以將時間值設定為 XAML 中的屬性。 如果您已在 XAML 中宣告 TimePicker 物件,而且未針對時間值使用系結,則可能最容易。 使用 Hh:Mm 格式的字串,其中 Hh 為小時,且介於 0 到 23 之間, 且 Mm 為分鐘數,且介於 0 到 59 之間。 “0” 可以是 Hh 或 Mm 中的初始字元,而且通常會包含 ,以便清楚瞭解任何值 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靜態方法。 使用 Hh:Mm (小時:分鐘) 格式的字串。
無論是在程式代碼或 XAML 中設定, TimePicker 類別都有它嘗試設定時所保留值的強制邏輯。 任何天數的值都會被忽略。 秒數會忽略 (例如,超過 30 秒的秒數不會進位到下一分鐘) 。 略過小數秒。 值不會包裝 (,例如 「24:00」 的值無效。) 內的 TimeSpan
最小值是 0 (00:00、午夜) ,最大值為 23:59。 超出範圍的值會擲回例外狀況,但視例外狀況的特定情況而定,例外狀況可能源自建構, TimeSpan
而不是來自的 SelectedTime
驗證和強制。
若要在 Visual C++ 元件延伸模組中設定 SelectedTime
值, (C++/CX) ,您可以設定 Duration
TimeSpan 結構的欄位。
Duration
指定以 100 奈秒為單位的時間;撰寫您自己的邏輯,以轉換到小時:分鐘表示法。
您在程式代碼或 XAML 中設定 SelectedTime
的任何值,都是指定 控制件中顯示的初始值。 在運行時間的應用程式中,該值通常是由時間選擇器飛出視窗中的用戶所設定。 設定使用者選取的時間,而且當使用者進行變更並按下時間選擇器飛出視窗中的複選標記按鈕來認可其選取範圍時, 就會發生 SelectedTimeChanged 事件。