情境
畫面上透過單一 TextBox 顯示複數的繫結資料項目,例如,名稱及稱謂分別 Name 及 Position 兩個屬性值,但顯示時要整合顯示,以往可能會在繫結資料加上結合兩項資料的屬性值提供繫結,但這樣的做法有些麻煩,其實 WPF 在 XAML 透過 StringFormate 就可以處理。
語法
<TextBox>
<TextBox.Text>
<MultiBinding StringFormat="Hi {0}{1} 你好!">
<Binding Path="Name">
<Binding Path="Position">
</MultiBinding>
</TextBox.Text>
</TextBox>
字串樣式的結構採用類似程式的寫法,透過大括號及數字對應資料來源,但是若是字串樣式是 {0}{1} 則會有問題,因為 XAML 中對大括號的使用限制,此時在前面再加上一組空的大括號即可。
<TextBox>
<TextBox.Text>
<MultiBinding StringFormat="{}{0}{1} 你好!">
<Binding Path="Name">
<Binding Path="Position">
</MultiBinding>
</TextBox.Text>
</TextBox>