Sdílet prostřednictvím


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 typu DateTime, který je ve výchozím nastavení první den roku 1900.
  • MaximumDate typu DateTime, který se ve výchozím nastavení nastaví na poslední den roku 2100.
  • Date typu DateTime, vybrané datum, které je výchozí hodnotou DateTime.Today.
  • Format typu string, 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 typu FontAttributes, který má výchozí hodnotu FontAtributes.None.
  • FontFamily typu string, který má výchozí hodnotu null.
  • FontSizedoubletypu , který má výchozí hodnotu -1.0.
  • CharacterSpacing, typu double, 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 MaximumDatese 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 MaximumDatevč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, MaxDatea 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, MaximumDatea 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 Centerje , Startnebo 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:

  1. 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>
    
  2. 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, jako en-US je angličtina (USA), es-ES španělština (Španělsko), fr-FR francouzština (Francie) nebo de-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.