2011-03-22 42 views
2

是否有可能在WPF綁定到2個元素?綁定到2個字符串元素?

例如,我想在文本框中顯示類似myserver.com:80的內容。 所以要做到這一點,我想綁定到一個主機字段,然後添加一個「:」,然後綁定到我的對象中的一個端口字段都爲相同的標籤內容。

回答

5

在WPF 4/3.5SP1您可以結合使用MultiBindingStringFormat

<TextBlock> 
    <TextBlock.Text> 
     <MultiBinding StringFormat="{0}:{1}"> 
      <Binding Path="Host"/> 
      <Binding Path="Port"/> 
     </MultiBinding> 
    </TextBlock.Text> 
</TextBlock> 

此前WPF 4,你仍然可以使用一個MultiBinding但需要編寫自己的轉換器來代替。

這兩種方法的替代方法是做MVVM並公開一個屬性來爲視圖進行連接,然後視圖直接綁定到該屬性。

+0

+1,但'StringFormat'可以從.NET 3.5 SP1開始使用 – 2011-03-22 20:21:28

+0

@Julien:謝謝 - 編輯 – 2011-03-22 23:53:33

+0

+1可用選項的良好概要! – 2011-03-23 00:03:26