Il controllo ContentDialog permette la creazione di finestre modali in Universal Windows Platform, quindi compatibili con app sia su desktop che su mobile.
Come ContentControl può contenere il markup che desideriamo per mostrare messaggi ed oggetti la cui interazione è gestibile da codice; la sua istanza può essere fatta programmaticamente oppure anche dichiarativamente nel markup.
<ContentDialog x:Name="MyContentDialog" Title="Title" PrimaryButtonText="OK" SecondaryButtonText="Cancel"> <StackPanel> <TextBlock Text="TextBlock messaggio della finestra modale" TextWrapping="Wrap" /> </StackPanel> </ContentDialog>
Per far comparire la modale è sufficiente chiamare il metodo ShowAsync.
Come possiamo vedere in figura, ContentDialog dispone di due pulsanti, Primary e Secondary, che vengono mostrati solo se la rispettiva proprietà *Text è valorizzata. Alla loro pressione la modale si chiude, ma è anche possibile intercettare gli eventi di click per aggiungere una logica personalizzata.
Se nel titolo della finestra vogliamo mostrare oggetti più complessi, rispetto al semplice testo, possiamo usare la proprietà TitleTemplate e definire un DataTemplate con i controlli che desideriamo.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire domini wildcard in Azure Container Apps
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Usare una container image come runner di GitHub Actions
Gestire la cancellazione di una richiesta in streaming da Blazor
Cancellare una run di un workflow di GitHub
Creare gruppi di client per Event Grid MQTT
Usare il colore CSS per migliorare lo stile della pagina
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Sostituire la GitHub Action di login su private registry
Triggerare una pipeline su un altro repository di Azure DevOps