In questo semplice esempio vedremo come utilizzare la Classe Multibinding. La classe MultiBinding consente di associare una proprietà di destinazione dell'associazione a un elenco di proprietà di origine e di applicare quindi una logica per produrre un valore con gli input specificati. In questo esempio viene mostrato come utilizzare la classe MultiBinding per visualizzare più proprietà della Classe Customer in una sola riga all'interno di un controllo ListBox. Utilizzeremo una ObservableCollection , la quale rappresenta una raccolta di dati dinamica che fornisce notifiche quando gli elementi vengono aggiunti, rimossi, o se l'elenco di tutto è aggiornato. La implementeremo da codebheind andando ad implementare una classe chiamata Customer , composta a sua volta da 5 proprietà , ma vediamo il codice c#. using System.Windows; using System.Collections.ObjectModel; namespace WpfApplication1 { /// <summary> /// Logica di interazione per MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void ButtonClick(object sender, RoutedEventArgs e) { /* Creiamo una ObservableCollection di tipo Customer * andando a valorizzare le sue proprietà*/ var customerList = new ObservableCollection<Customer> { new Customer { Name = "Carmelo", Surname = "La Monica", Address = "indirizzo", Email = "email", PhoneNumber = "telefono", } }; /* Assegniamo alla proprietà ItemSource del controllo ListBox * il contenuto di customerlist*/ listbox1.ItemsSource = customerList; } // La classe Customer con le cinque proprietà private class Customer { public string Name { get; set; } public string Surname { get; set; } public string PhoneNumber { get; set; } public string Address { get; set; } public string Email { get; set; } } } } L'obbiettivo come detto e andare a visualizzare all'interno di un controllo ListBox il nome e cognome di una persona per ogni riga , dal momento che la proprietà DisplayMemberPath ci permette di visualizzare solamente una proprietà per volta e non due , ecco che ci viene in aiuto il Multibinding , ma vediamo come implementarlo nel codice dichiarativo XAML. <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <ListBox x:Name="listbox1" IsSynchronizedWithCurrentItem="True" HorizontalAlignment= "Left" Height="100" Margin="63,49,0,0" VerticalAlignment="Top" Width="213"> <ListBox.ItemTemplate> <DataTemplate> <TextBlock> <TextBlock.Text> <MultiBinding StringFormat="{}{0} {1}"> <Binding Path="Name"/> <Binding Path="Surname"/> </MultiBinding> </TextBlock.Text> </TextBlock> </DataTemplate> </ListBox.ItemTemplate> </ListBox> <Button Content="Button" HorizontalAlignment="Left" Margin="63,178,0,0" VerticalAlignment="Top" Width="75" Click="ButtonClick"/> </Grid> </Window>