2
是否有可能在WPF綁定到2個元素?綁定到2個字符串元素?
例如,我想在文本框中顯示類似myserver.com:80的內容。 所以要做到這一點,我想綁定到一個主機字段,然後添加一個「:」,然後綁定到我的對象中的一個端口字段都爲相同的標籤內容。
是否有可能在WPF綁定到2個元素?綁定到2個字符串元素?
例如,我想在文本框中顯示類似myserver.com:80的內容。 所以要做到這一點,我想綁定到一個主機字段,然後添加一個「:」,然後綁定到我的對象中的一個端口字段都爲相同的標籤內容。
在WPF 4/3.5SP1您可以結合使用MultiBinding
與StringFormat
:
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{0}:{1}">
<Binding Path="Host"/>
<Binding Path="Port"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
此前WPF 4,你仍然可以使用一個MultiBinding
但需要編寫自己的轉換器來代替。
這兩種方法的替代方法是做MVVM並公開一個屬性來爲視圖進行連接,然後視圖直接綁定到該屬性。
+1,但'StringFormat'可以從.NET 3.5 SP1開始使用 – 2011-03-22 20:21:28
@Julien:謝謝 - 編輯 – 2011-03-22 23:53:33
+1可用選項的良好概要! – 2011-03-23 00:03:26