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

StringFormat & MultiBinding im XAML – Quicky
Markiert in:        

Ein Gedanke über “StringFormat & MultiBinding im XAML – Quicky

Kommentare sind deaktiviert.