StringFormat: gestire i dati in data binding senza utilizzare i converter in Silverlight 4.0

di Alessio Leoncini, in Silverlight 4.0,

In Silverlight 4.0 sono state introdotte alcune nuove markup extension che potenziano le funzionalità dell'engine di data binding, riducendo il codice che dobbiamo scrivere.

Una delle più interessanti è StringFormat: con essa possiamo definire la formattazione del valore
proveniente dalla sorgente dati, senza la necessità di predisporre un Converter.

StringFormat accetta una sintassi del tutto analoga all'omologo String.Format del .NET Framework, nella quale possiamo specificare il valore tra parentesi graffe oltre alla serie di codici che ne definiscono la formattazione implicita.

Nell'esempio sottostante possiamo vedere come questa funzione sia applicabile al testo, anteponendo un semplice valore, ma sopratutto a date, interi, valute, ecc..

XAML
<ListBox ItemsSource="{Binding Items}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel>
                <TextBlock Text="{Binding FirstName, StringFormat='Nome: \{0\}'}" />
                <TextBlock Text="{Binding LastName, StringFormat='Cognome: \{0\}'}" />
                <TextBlock Text="{Binding Birthday, StringFormat='Data di nascita: \{0:dd/MM/yyyy\}'}" />
                <TextBlock Text="{Binding Weight, StringFormat='Peso: \{0:n\} Kg.'}" />
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

Come possiamo vedere nel codice, per poter utilizzare le parentesi graffe all'interno dell'espressione di binding, dobbiamo anteporre il carattere "\".

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi