Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Zaman seçici, kullanıcıların dokunma, fare veya klavye girişi kullanarak bir zaman değeri seçmesine izin vermek için standartlaştırılmış bir yol sağlar.
Doğru kontrol bu mu?
Kullanıcının tek bir saat değeri seçmesine izin vermek için zaman seçici kullanın.
Doğru denetimi seçme hakkında daha fazla bilgi için Tarih ve saat denetimleri makalesine bakın.
Örnekler
Giriş noktası seçilen saati görüntüler; kullanıcı giriş noktasını seçtiğinde, seçici yüzeyi ortasından itibaren dikey olarak genişleyerek kullanıcının bir seçim yapmasına olanak sağlar. Zaman seçici, diğer kullanıcı arabiriminin üzerine gelir ama diğer kullanıcı arabirimini yerinden kıpırdatmaz.
Zaman seçici oluşturma
- Önemli API'ler:TimePicker sınıfı, SelectedTime özelliği
![]()
WinUI 3 Galeri uygulaması, WinUI denetimlerinin ve özelliklerinin etkileşimli örneklerini içerir. uygulamayı Microsoft Store adresinden alın veya GitHub üzerindeki kaynak koduna göz atın.
Bu örnek, üst bilgi ile basit bir saat seçici oluşturmayı gösterir.
<TimePicker x:Name="arrivalTimePicker" Header="Arrival time"/>
TimePicker arrivalTimePicker = new TimePicker();
arrivalTimePicker.Header = "Arrival time";
Sonuçta elde edilen zaman seçici şöyle görünür:
Zaman seçiciyi biçimlendirme
Varsayılan olarak, saat seçici AM/PM seçimli olarak 12 saatlik bir saat gösterir. Bunun yerine 24 saatlik bir saat göstermek için ClockIdentifier özelliğini "24HourClock" olarak ayarlayabilirsiniz.
<TimePicker Header="24HourClock" SelectedTime="18:21" ClockIdentifier="24HourClock"/>
MinuteIncrement özelliğini dakika seçicide gösterilen zaman artışlarını gösterecek şekilde ayarlayabilirsiniz. Örneğin, 15 dakika denetiminin TimePicker yalnızca 00, 15, 30, 45 seçeneklerini görüntülediğini belirtir.
<TimePicker MinuteIncrement="15"/>
Saat değerleri
Zaman seçici denetiminde, hem Time/TimeChanged hem de SelectedTime/SelectedTimeChanged API'leri bulunur. Bunlar arasındaki fark, Time null olamazken SelectedTime null olabilir olmasıdır.
SelectedTime değeri, zaman seçiciyi doldurmak için kullanılır ve varsayılan olarak null. Eğer SelectedTimenull ise, Time özelliği 0 TimeSpan süreye ayarlanır; aksi takdirde Time değeri SelectedTime değeri ile eşitlenir.
SelectedTime
nullolduğunda seçici 'varsayılan' olur ve alan adlarını zaman yerine gösterir.
Saat değerini başlatma
Kodda, saat özelliklerini TimeSpan türündeki bir değere başlatabilirsiniz.
TimePicker timePicker = new TimePicker
{
SelectedTime = new TimeSpan(14, 15, 00) // Seconds are ignored.
};
Saat değerini XAML'de bir öznitelik olarak ayarlayabilirsiniz. Bu muhtemelen en kolay yöntemdir, eğer TimePicker nesnesini zaten XAML'de bildiriyorsanız ve zaman değeri için bağlama kullanmıyorsanız.
Hh:Mm biçiminde bir dize kullanın; burada SS saat ve 0 ile 23 arasında, Mm dakika olabilir ve 0 ile 59 arasında olabilir.
<TimePicker SelectedTime="14:15"/>
Uyarı
Tarih ve saat değerleri hakkında önemli bilgiler için, Tarih ve saat denetimleri makalesindeki DateTime ve Calendar değerlerine bakın.
Zaman değerlerini kullanma
Uygulamanızda saat değerini kullanmak için, genellikle SelectedTime veya Time özelliğine bir veri bağlaması kullanır, zaman özelliklerini doğrudan kodunuzda kullanır ya da SelectedTimeChanged veya TimeChanged olayını işlersiniz.
Tek bir
DatePickerdeğerini güncellemek içinTimePickerveDateTime'i birlikte kullanma örneğine bakın. Daha fazla bilgi için Takvim, tarih ve saat denetimleri - Tarih seçici ve saat seçiciyi birlikte kullanma.
Burada özelliği seçili SelectedTime saati geçerli saatle karşılaştırmak için kullanılır.
SelectedTime özelliği null atanabilir olduğundan, bunu açıkça DateTimeolarak atamanız gerekir. Örneğin: DateTime myTime = (DateTime)(DateTime.Today + checkTimePicker.SelectedTime);. Ancak Time özelliği, şöyle bir dönüştürme yapılmadan da kullanılabilir: DateTime myTime = DateTime.Today + checkTimePicker.Time;.
<StackPanel>
<TimePicker x:Name="checkTimePicker"/>
<Button Content="Check time" Click="{x:Bind CheckTime}"/>
<TextBlock x:Name="resultText"/>
</StackPanel>
private void CheckTime()
{
// Using the Time property.
// DateTime myTime = DateTime.Today + checkTimePicker.Time;
// 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);
}
}
İlgili konular
Windows developer