2013-04-02 94 views

回答

2

您使用MultiBinding無需轉換器的最常見情況是,當你有一個字符串格式連接兩個單獨的值

說,例如:

要格式化有名字,最後一部分,你想要格式化它基於區域

<StackPanel> 
    <TextBlock x:Name="firstName" 
       Text="John" /> 
    <TextBlock x:Name="lastName" 
       Text="Wayne" /> 
    <TextBlock> 
    <TextBlock.Text> 
     <MultiBinding StringFormat="{}{0} {1}"> 
     <Binding ElementName="firstName" 
        Path="Text" /> 
     <Binding ElementName="lastName" 
        Path="Text" /> 
     </MultiBinding> 
    </TextBlock.Text> 
    </TextBlock> 
</StackPanel> 

你看到了相當多的使用轉換器的地方,因爲使用MultiBinding你做同樣的Binding但你確認m將多個源值格式化爲單個結果而不是單個輸入 - >單個輸出。

你可以有一個綁定採取ConverterParameter但提供其他的輸入值,你有這樣不能夠提供運行時綁定的值給它,這使得MultiBinding更適合於要綁定所有的人都多輸入限制。

歸結爲您的用例,如果您想根據您以自定義方式評估的不同輸入類型提供結果,則需要一個Converter(與Binding非常相似)。作爲1個輸入可綁定的值與多個)

+1

它看起來像字符串格式版本只適用於您的元素期望字符串。在某些情況下,您可能必須將多重綁定放入文本塊中。 –

相關問題