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)
屬性值
目前在時間選擇器中選取的時間。
Windows 需求
裝置系列 |
Windows 10, version 1809 (已於 10.0.17763.0 引進)
|
API contract |
Windows.Foundation.UniversalApiContract (已於 v7.0 引進)
|
範例
在這裡, 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」 更容易在標記中讀取。
若要在程式碼中設定時間,您可以根據程式設計語言取得不同的技術。 此值會表示為 C# 和 Visual Basic 的 System.TimeSpan ,或 Visual C++ 元件延伸模組的 Windows.Foundation.TimeSpan (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 事件發生于使用者進行變更,並在時間選擇器飛出視窗中按下核取記號按鈕來認可其選取專案。