2013-08-27 141 views
1
var FullName = String.Format("{0} {1}", "FirstName", "LastName"); 

如何轉換爲TextBlock文本?如何將此語句轉換爲XAML?

<TextBlock Text="" /> 
+1

那你試試? –

+0

您可以在綁定中擁有一個返回該格式化字符串的屬性,並將TextBlock Text屬性綁定到綁定中的該屬性。 – Zack

回答

7

StringFormat救援:

<TextBlock> 
    <TextBlock.Text> 
     <MultiBinding StringFormat="{}{0} {1}"> 
      <Binding Path="FirstName" /> 
      <Binding Path="LastName" /> 
     </MultiBinding> 
    </TextBlock.Text> 
</TextBlock> 

如果你想知道的第一{}做什麼,這是爲了防止WPF是以爲第一{0}MarkupExtension

+0

我不知道這是可能的..我通常只是在我的viewmodel中創建一個返回格式化字符串的屬性,並將TextBlock的Text屬性綁定到該屬性。 – Zack

+0

我通常會使用轉換器來返回格式正確的字符串。總是很高興學習一個更簡單的方法來做一些事情! – Saggio

+0

是的,這在WPF的第一個版本中不可用。而且它只在目標屬性是'string'時才起作用。但除此之外,它太棒了! –

1

無論標識符是TextBlock元素,您需要使用您的代碼,做線沿線的東西:

TextBlockVariable.Text = FullName; 
+0

我認爲提問者正在尋找類似於Abe Heidebrecht發佈的解決方案,在那裏您使用XAML來實現字符串格式,但是問題中沒有足夠的信息來確認。 – Zack

+0

我翻了一遍,以及它是正確的。然而,正如標題所解釋的,我正在尋求XAML標記。謝謝。 – usefulBee

+0

對不起,我把它解釋爲「我怎麼把這個變量放到這個XAML中」。但是我對於瞭解Abe的字符串格式方法感到驚訝! – BenM

相關問題