Можно использовать MultiBinding + StringFormat (требует WPF 3.5 SP1):
<TextBox.Text>
<MultiBinding StringFormat="{}{1:#0}% up, {2:#0}% down">
<Binding Path="PercentageOne" />
<Binding Path="PercentageTwo"/>
</MultiBinding>
</TextBox.Text>
Относительно Выполнения. Текст - Вы не можете связать с ним, но существуют некоторые обходные решения:
Путем я решил, это в прошлом должно на самом деле повредить TextBlock, который Вы имеете в своем списке в несколько TextBlocks. Попробуйте что-то вроде этого:
<Element>
<Element.Tooltip>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=PercentageOne}"/>
<TextBlock Text="% up, "/>
<TextBlock Text="{Binding Path=PercentageTwo}"/>
<TextBlock Text="% down"/>
</StackPanel>
</Element.Tooltip>
</Element>
Поочередно можно создать что-то как StringFormatConverter, который мог взять строку формата в качестве параметра и использовать MultiBinding для передачи ее параметры. См. эту ссылку для MultiBindings:
И этот для получения информации о преобразователях:
можно довольно легко вообразить преобразователь, который берет "объект [] значения" вместо "объектного значения", поскольку это - первый параметр и передает значения к функции Формата.
При использовании 3,5 SP1 ответ Aku является способом пойти. Если Вы не, можно использовать FormatConverter от моего библиотека WPF Converters.
Насколько я знаю, WPF не делает то, что Вы хотите. У Вас действительно есть намного более мощное (хотя более включенным) решением.
Смотрят на интерфейс IValueConverter.
ссылка MSDN HowTo здесь
РЕДАКТИРОВАНИЕ
На основе ответа aku и Вашего утверждения, что Вы не можете использовать 3,5 SP1, вот альтернатива.
Смотрят на недавний ряд Phil Haack сообщений на строковом форматировании:
Создает ValueConverter, поскольку это берет формат в качестве свойства. Необходимо затем смочь связать объект данных и иметь его формат на основе определенного формата (использующий имя свойства вместо положения).
Я бы разделил на несколько текстовых блоков, привязывая каждый к StringFormat = {0: P} в привязке как таковой:
<TextBox Text="{Binding Something, StringFormat=\{0:P\}}" />
См. Этот пост для примеры: Блог Лестера WPF на StringFormat
Checkout VS2010 - Привязка из свойств включает форматирование в параметрах.