Обновлено 3.3:
Фактическая проблема - синтаксическая ошибка.См. https://stackoverflow.com/a/54949686/66988 для правильного синтаксиса.
Для дальнейшего использования: вы можете использовать «статические» части в StringFormat, вам просто нужно запустить StringFormat с {}.
Исходный неправильный ответ с обходным решением:
Проблема в том, что вы не можете добавить «Этот человек» внутри свойства StringFormat.Если вы удалите эту часть:
<TextBlock.Text>
<MultiBinding StringFormat="{}{0}; {1}, {2}">
<Binding Path="PersonID"/>
<Binding Path="LastName"/>
<Binding Path="FirstName"/>
</MultiBinding>
</TextBlock.Text>
Вы увидите, что фактическое связывание работает.
Вы можете обойти эту проблему, используя статический ресурс для «статической» части текста.и привязка к нему:
<TextBlock.Resources>
<system:String x:Key="MyString">This person is</system:String>
</TextBlock.Resources>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} {1}; {2}, {3}">
<Binding Source="{StaticResource MyString}" />
<Binding Path="PersonID"/>
<Binding Path="LastName"/>
<Binding Path="FirstName"/>
</MultiBinding>
</TextBlock.Text>