Tra i nuovi controlli introdotti con il rilascio della Universal Windows Platform, ne abbiamo uno appositamente creato per visualizzare e selezionare una data dal calendario.
Il controllo in questione è CalendarDatePicker: questo controllo presenta una un look simile ad una TextBox, con una piccola icona sul lato destro.
Come qualsiasi altro controllo, è possibile personalizzare l'aspetto, creando uno Style apposito che ne ridefinisca il template.
Il template del CalendarDatePicker è molto complesso, poichè utilizza diversi controlli al suo interno, come ad esempio un Flayout e un CalendarView.
<ControlTemplate TargetType="CalendarDatePicker"> <Grid x:Name="Root"> <!--rimosso --> <TextBlock x:Name="DateText" Foreground="{ThemeResource SystemControlForegroundBaseMediumBrush}" FontSize="15" HorizontalAlignment="Left" Padding="12, 0, 0, 0" Grid.Row="1" Text="{TemplateBinding PlaceholderText}" VerticalAlignment="Center" /> <FontIcon x:Name="CalendarGlyph" Grid.Column="1" Foreground="{ThemeResource SystemControlForegroundBaseMediumHighBrush}" FontSize="16" FontFamily="{ThemeResource SymbolThemeFontFamily}" Glyph="?" HorizontalAlignment="Center" Grid.Row="1" VerticalAlignment="Center" /> </Grid> </ControlTemplate>
È possibile modificare l'aspetto del controllo, ad esempio modificando l'icona, semplicemente com la proprietà Glyph, o rimuovendo il controllo stesso e sostituendolo con un'immagine o qualsiasi altro elemento utile alla nostra applicazione.
Ad esempio, nell'immagine seguente possiamo vedere come sia stata personalizzata l'icona utilizzando uno dei tanto "caratteri" messi a disposizione dal nuovo font Segoe MDL2 Assets.

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Ordine e importanza per @layer in CSS
Triggerare una pipeline su un altro repository di Azure DevOps
Gestire il colore CSS con HWB
Miglioramenti nelle performance di Angular 16
Scrivere selettori CSS più semplici ed efficienti con :is()
Ordinare randomicamente una lista in C#
Evitare il flickering dei componenti nel prerender di Blazor 8
Disabilitare automaticamente un workflow di GitHub
Recuperare l'ultima versione di una release di GitHub
Selettore CSS :has() e i suoi casi d'uso avanzati
Migrare una service connection a workload identity federation in Azure DevOps