XAML è la nuova sintassi introdotta nel .NET Framework 3.0 per definire le interfacce grafiche nelle applicazioni sviluppate con Windows Presentation Foundation. In linea generale, si tratta di un linguaggio alternativo ai normali C#, VB.NET ecc che permette di istanziare classi e di impostare proprietà in modo semplice o complesso. Oltre a questo, XAML permette di usare delle markup extension: estensioni particolari che consentono di ottenere tipi complessi o di impostare proprietà in modo più rapido.
Le markup extension sono classi che ereditano da System.Windows.Markup.MarkupExtension e, mediante proprietà che possono definire, forniscono informazioni a runtime. Tra quelle disponibili la StaticExtension permette di accedere ad un membro statico di una classe o ad un tipo enumerato e di ottenere qualsiasi suo valore.
Le markup extension si utilizzano mediante la sintassi {NomeExtension Proprietà1=1,Proprietà2=2,..}. Può essere omesso il suffisso extension del nome della classe e se quest'ultima possiede un costruttore con un parametro è possibile non indicare il nome della proprietà: {NomeExtension valore1}.
Di seguito un esempio che recupera l'oggetto Brush di sistema da associare al colore di un testo:
<TextBlock Foreground="{x:Static SystemColors.ControlTextBrush}" Text="ControlTextBrush" />Se il tipo appartiene ad assembly personalizzati o diversi da quelli standard è possibile mappare il namespace come spiegato negli script #1 o #2. L'esempio seguente mostra l'ora attuale utilizzando DateTime.Now:
<Label Content="{x:Static s:DateTime.Now}" />Le StaticExtension vengono solitamente utili per recuperare le chiavi di style utilizzate dai controlli oppure per caricare colori in modo dinamico dalle risorse.
<TextBlock Foreground="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" Text="ControlTextBrush" />Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Build 2015: segui con noi tutte le novità per gli sviluppatori in diretta da San Francisco
- Build 2017: segui con noi tutte le novità mercoledì 10 e giovedì 11 maggio da Seattle!
- Build 2016: segui con noi in live streaming!
- Community Days 2010: applicazioni con Windows Phone 7
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Nascondere i contenuti con effetto Fade nella Universal Windows Platform
- Annunciati .NET 2015, ASP.NET 5 e Visual Studio 2015: open source, per Windows, Linux e MacOSX
- Aggiornamento Microsoft Security Bulletin MS02-061


