Výběr data
Uživatelské rozhraní multiplatformních aplikací .NET (.NET MAUI) DatePicker vyvolá ovládací prvek pro výběr data a umožňuje vybrat datum platformy.
DatePicker definuje osm vlastností:
MinimumDate
typuDateTime
, který je ve výchozím nastavení první den roku 1900.MaximumDate
typuDateTime
, který se ve výchozím nastavení nastaví na poslední den roku 2100.Date
typuDateTime
, vybrané datum, které je výchozí hodnotouDateTime.Today
.Format
typustring
, standardní nebo vlastní formátovací řetězec .NET, který ve výchozím nastavení představuje "D", dlouhý vzor data.TextColor
typu Color, barva použitá k zobrazení vybraného data.FontAttributes
typuFontAttributes
, který má výchozí hodnotuFontAtributes.None
.FontFamily
typustring
, který má výchozí hodnotunull
.FontSize
double
typu , který má výchozí hodnotu -1.0.CharacterSpacing
, typudouble
, je mezery mezi znaky DatePicker textu.
Všechny osm vlastností jsou podporovány BindableProperty objekty, což znamená, že je možné je stylovat a vlastnosti mohou být cílem datových vazeb. Vlastnost Date
má výchozí režim vazby BindingMode.TwoWay
, což znamená, že může být cílem datové vazby v aplikaci, která používá model-View-ViewModel (MVVM).
Upozorňující
Při nastavování MinimumDate
a MaximumDate
se ujistěte, že MinimumDate
je vždy menší než nebo rovno MaximumDate
. DatePicker V opačném případě vyvolá výjimku.
Zajišťuje DatePicker , že Date
je mezi MinimumDate
a MaximumDate
včetně. Pokud MinimumDate
nebo MaximumDate
je nastaven tak, aby Date
mezi nimi nebyl, DatePicker upraví hodnotu Date
.
DateSelected
Vyvolá DatePicker událost, když uživatel vybere datum.
Vytvoření DatePickeru
DateTime
Pokud je hodnota zadána v XAML, analyzátor XAML používá DateTime.Parse
metodu CultureInfo.InvariantCulture
s argumentem k převodu řetězce na DateTime
hodnotu. Kalendářní data musí být zadána v přesném formátu: dvouciferné měsíce, dvouciferné dny a čtyři číslice roky oddělené lomítky:
<DatePicker MinimumDate="01/01/2022"
MaximumDate="12/31/2022"
Date="06/21/2022" />
BindingContext
Pokud je vlastnost DatePicker nastavena na instanci modelu viewmodel obsahující vlastnosti typu DateTime
s názvem MinDate
, MaxDate
a SelectedDate
(například), můžete vytvořit instanci DatePicker podobné tomuto:
<DatePicker MinimumDate="{Binding MinDate}"
MaximumDate="{Binding MaxDate}"
Date="{Binding SelectedDate}" />
V tomto příkladu jsou všechny tři vlastnosti inicializovány na odpovídající vlastnosti v modelu viewmodel. Vzhledem k tomu, že Date
vlastnost má režim vazby TwoWay
, jakékoli nové datum, které uživatel vybere, se automaticky projeví v modelu viewmodel.
DatePicker Pokud vlastnost neobsahuje vazbuDate
, měla by aplikace k události připojit obslužnou rutinuDateSelected
, která se má informovat, když uživatel vybere nové datum.
V kódu můžete inicializovat MinimumDate
, MaximumDate
a Date
vlastnosti na hodnoty typu DateTime
:
DatePicker datePicker = new DatePicker
{
MinimumDate = new DateTime(2018, 1, 1),
MaximumDate = new DateTime(2018, 12, 31),
Date = new DateTime(2018, 6, 21)
};
Informace o nastavení vlastností písma naleznete v tématu Písma.
DatePicker a rozložení
Je možné použít nekontrénovanou vodorovnou možnost rozložení, jako Center
je , Start
nebo End
s DatePicker:
<DatePicker ···
HorizontalOptions="Center" />
Nedoporučuje se to ale. V závislosti na nastavení Format
vlastnosti můžou vybraná data vyžadovat různé šířky zobrazení. Například řetězec formátu "D" způsobí DateTime
zobrazení kalendářních dat v dlouhém formátu a "Středa, 12. září 2018" vyžaduje větší šířku zobrazení než "Pátek, 4. května 2018". V závislosti na platformě může tento rozdíl způsobit DateTime
, že zobrazení změní šířku rozložení nebo se zobrazení zkrátí.
Tip
Nejlepší je použít výchozí HorizontalOptions
nastavení Fill
s DatePicker, a ne použít šířku Auto
při vkládání DatePicker do Grid buňky.
Lokalizace DatePickeru ve Windows
U aplikací určených pro Windows se ujistěte, že DatePicker zobrazení kalendářních dat ve formátu lokalizovaném do nastavení uživatele, včetně názvů měsíců a dnů v dialogovém okně výběru, vyžaduje konkrétní konfiguraci v souboru Package.appxmanifest vašeho projektu. Lokalizace prvků v manifestu balíčku zlepšuje uživatelské prostředí tím, že dodržuje kulturní normy národního prostředí uživatele.
Lokalizace formátů kalendářních dat a řetězců v <xref:Microsoft.Maui.Controls.DatePicker>
souboru Package.appxmanifest vyžaduje deklarování podporovaných jazyků.
Podle těchto kroků nakonfigurujte DatePicker lokalizaci ve Windows:
Vyhledejte oddíl Zdroje.
Přejděte do
Platforms\Windows
složky projektu a otevřete soubor Package.appxmanifest v editoru kódu nebo v sadě Visual Studio. Pokud používáte Visual Studio, ujistěte se, že si prohlížíte nezpracovaný XML souboru.<Resources>
Vyhledejte oddíl, který může zpočátku zahrnovat:<Resources> <Resource Language="x-generate" /> </Resources>
Zadejte podporované jazyky.
<Resource Language="x-generate">
<Resource />
Nahraďte prvky pro každý z vašich podporovaných jazyků. Kód jazyka by měl být ve formě značky jazyka BCP-47, jakoen-US
je angličtina (USA),es-ES
španělština (Španělsko),fr-FR
francouzština (Francie) nebode-DE
němčina (Německo). Pokud chcete například přidat podporu pro angličtinu (USA) i španělštinu (Španělsko), měla by být vaše<Resources>
část upravená tak, aby vypadala takto:<Resources> <Resource Language="en-US" /> <Resource Language="es-ES" /> </Resources>
Tato konfigurace zajišťuje, že DatePicker se budou zobrazovat formáty kalendářních dat, měsíce a dny podle národního prostředí uživatele, což výrazně zvyšuje použitelnost a přístupnost aplikace v různých oblastech.
Další informace o lokalizaci v aplikacích .NET MAUI najdete v tématu Lokalizace.