Bagikan melalui


TimePicker.SelectedTime Properti

Definisi

Mendapatkan atau mengatur waktu yang saat ini dipilih di pemilih waktu.

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)

Nilai Properti

Waktu yang saat ini dipilih dalam pemilih waktu.

Persyaratan Windows

Rangkaian perangkat
Windows 10, version 1809 (diperkenalkan dalam 10.0.17763.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v7.0)

Contoh

Di sini, SelectedTime properti digunakan untuk membandingkan waktu yang dipilih dengan waktu saat ini.

Perhatikan bahwa karena SelectedTime properti dapat diubah ke null, Anda harus secara eksplisit melemparkannya ke DateTime, seperti ini: DateTime myTime = (DateTime)(DateTime.Today + checkTimePicker.SelectedTime);.

Pemilih waktu, tombol, dan label teks.

<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);
    }
}

Keterangan

Kontrol pemilih waktu memiliki APITimeChanged/ dan SelectedTime/SelectedTimeChanged. Perbedaan antara ini adalah bahwa Time tidak dapat diubah ke null, sementara SelectedTime nullable.

Nilai digunakan SelectedTime untuk mengisi pemilih waktu dan secara null default. Jika SelectedTime adalah null, Time properti diatur ke Rentang Waktu 0; jika tidak, Time nilai disinkronkan dengan SelectedTime nilai . Ketika SelectedTime adalah null, pemilih 'tidak diatur' dan menampilkan nama bidang alih-alih waktu.

Waktu tidak akan meningkat secara real-time (seperti jam) kecuali Anda memberikan kode yang mengikat ke beberapa nilai yang melacak waktu saat ini saat aplikasi berjalan.

Anda dapat mengatur nilai waktu sebagai atribut di XAML. Ini mungkin paling mudah jika Anda sudah mendeklarasikan objek TimePicker di XAML dan tidak menggunakan pengikatan untuk nilai waktu. Gunakan string dalam bentuk Hh:Mm di mana Hh adalah jam dan dapat antara 0 dan 23 dan Mm adalah menit dan dapat antara 0 dan 59. "0" dapat menjadi karakter awal baik dalam Hh atau Mm dan biasanya disertakan untuk kejelasan nilai apa pun 0 sampai 9. Misalnya, "9:5" dan "09:05" valid dan mewakili waktu yang sama, tetapi "09:05" lebih mudah dibaca dalam markup.

Untuk mengatur waktu dalam kode, Anda memiliki teknik berbeda yang tersedia tergantung pada bahasa pemrograman Anda. Nilai dinyatakan sebagai System.TimeSpan untuk C# dan Visual Basic, atau Windows.Foundation.TimeSpan untuk ekstensi komponen Visual C++ (C++/CX). Mungkin cara termampu untuk menghasilkan nilai System.TimeSpan yang sesuai adalah SelectedTime dengan menggunakan metode statis TimeSpan.Parse. Gunakan string dalam bentuk Hh:Mm (jam:menit).

Baik diatur dalam kode atau XAML, kelas TimePicker memiliki logika pemaksaan untuk nilai yang dipertahankannya saat Anda mencoba mengaturnya. Nilai hari apa pun diabaikan. Nilai detik diabaikan (misalnya detik di atas 30 tidak dibulatkan ke atas hingga menit berikutnya). Detik pecahan diabaikan. Nilai tidak membungkus (misalnya nilai "24:00" tidak valid.) Nilai minimum dalam TimeSpan adalah waktu 0 (00:00, tengah malam) dan nilai maksimum adalah 23:59. Nilai di luar rentang melempar pengecualian, tetapi tergantung pada spesifikasi pengecualian mungkin berasal dari TimeSpan konstruksi daripada dari validasi dan paksaan SelectedTime.

Untuk mengatur SelectedTime nilai dalam ekstensi komponen Visual C++ (C++/CX), Anda mengatur Duration bidang struktur TimeSpan . Duration menentukan waktu dalam 100 unit nanodetik; tulis logika Anda sendiri untuk mengonversi ke dan dari jam:menit representasi.

Nilai apa pun yang Anda tetapkan dalam SelectedTime kode atau XAML menentukan nilai awal yang ditampilkan dalam kontrol. Di aplikasi saat runtime, nilai tersebut biasanya diatur oleh pengguna di flyout pemilih waktu. Waktu yang dipilih oleh pengguna diatur dan peristiwa SelectedTimeChanged terjadi ketika pengguna membuat perubahan dan menekan tombol tanda centang di flyout pemilih waktu untuk menerapkan pilihan mereka.

Berlaku untuk