2013-08-27 106 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

相关问题