Существует свойство StringFormat (в .NET 3.5 SP1), которое вы, вероятно, можете использовать. И полезный связующий шрифт WPF может найти здесь .
Если это не поможет, вы всегда можете написать свой собственный ValueConverter или пользовательское свойство для вашего объекта.
Только что проверил, вы можете использовать StringFormat с мультибиндингом. В вашем случае код будет примерно таким:
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat=" {0} - {1}">
<Binding Path="Number"/>
<Binding Path="Name"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
Мне пришлось начинать форматирование строки с пробела, иначе Visual Studio не будет собираться, но я думаю, что вы найдете способ обойти это:)
Редактировать
В StringFormat необходимо пространство, чтобы синтаксический анализатор не воспринимал {0}
как фактическую привязку. Другие альтернативы:
<!-- use a space before the first format -->
<MultiBinding StringFormat=" {0} - {1}">
<!-- escape the formats -->
<MultiBinding StringFormat="\{0\} - \{1\}">
<!-- use {} before the first format -->
<MultiBinding StringFormat="{}{0} - {1}">