Möchte man aus einer Liste von Objekten, einen String zusammenbauen und in einem TextBlock oder ähnliches präsentieren, so kann man das wie folgt:
1 2 3 4 5 6 7 8 9 | <TextBlock DataContext="{Binding ElementName=listBox1, Path=SelectedItem}"> <TextBlock.Text> <MultiBinding StringFormat="{}{0} {1} (Geburtstag am {2:dd.MM.yyy})"> <Binding Path="Vorname"/> <Binding Path="Nachname"/> <Binding Path="Geburtstag"/> </MultiBinding> </TextBlock.Text> </TextBlock> |
Die ListView an der dieser TextBlock gebunden ist, sieht folgender Maßen aus:
1 2 3 4 5 6 7 8 9 10 | <ListBox SelectedIndex="0" ItemsSource="{Binding GetPersons}" x:Name="listBox1" Height="100" VerticalAlignment="Top"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <TextBlock Text="{Binding Path=Nachname}" Margin="0 0 5 0" /> <TextBlock Text="{Binding Path=Vorname}" Margin="0 0 5 0"/> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> |
GetPerson ist ein Property im ViewModel. Siehe dazu das Howto “Vom Objekt ins Element – Datenbindung unter MVVM“








[...] hatte schon vor einiger Zeit gezeigt (puh, schon wieder 1 1/2 Jahre her..) , wie man im XAML ein MultiBinding implementiert. Nun stand [...]