2010-04-25 5 views
1

Поддерживает ли WPF несколько выражений привязки в одном выражении? Что-то вдоль линий следующего:Несколько выражений связывания в одном заявлении

<TextBlock Text="{Binding Path=OrderID} shipped on {Binding Path=OrderDate}"/> 

Я предполагаю, что это делает, но я думаю, что я просто не имею правильный синтаксис.

ответ

5

Вы должны использовать MultiBinding с функцией StringFormat. Посмотрите на docs for more info

<TextBox> 
    <TextBox.Text> 
    <MultiBinding StringFormat="{}{0} shipped on {1:D}"> 
     <Binding Path="OrderID" /> 
     <Binding Path="OrderDate"/> 
    </MultiBinding> 
    </TextBox.Text> 
</TextBox> 

Чтобы добавить поддержку forrmating конкретных разделов TextBlock, use Inlines like so.

<Textblock> 
    <Run FontWeight="Bold" Text="{Binding OrderID}"/> 
    <Run Text="shipped on "/> 
    <Run FontStyle="Italic" Text="{Binding OrderDate}"/> 
</Textblock> 
+0

Удивительный! Всего 1 вопрос. Есть ли способ применить стили к частям текста, например, сделать OrderID и Date Bold при использовании MultiBinding или мне нужно разделить части на несколько текстовых блоков. –

+0

Чтобы сделать то, что вы хотите, используйте инициализацию Inlines. Я обновил ответ, чтобы показать. –

Смежные вопросы