我有一些属性firstName和lastName的类。我想绑定TextBlock来连接这两个属性。我知道我可以创建第三个属性来返回这些属性的连接。但我不想使用这种方法。是否可以将TextBlock绑定到两个属性。而且我也不想创建复合userControl。
答案 0 :(得分:3)
在.NET 3.5SP1中,Microsoft将StringFormat添加到绑定中。这使它更容易。有关示例,请参阅Lester's blog post。在你的情况下:
<TextBox>
<TextBox.Text>
<MultiBinding StringFormat="{0} {1}">
<Binding Path="FirstName" />
<Binding Path="LastName"/>
</MultiBinding>
</TextBox.Text>
</TextBox>
或
<TextBox>
<TextBox.Text>
<MultiBinding StringFormat="{1}, {0}">
<Binding Path="FirstName" />
<Binding Path="LastName"/>
</MultiBinding>
</TextBox.Text>
</TextBox>
答案 1 :(得分:2)
你可以使用多重绑定,但我想你必须编写出来的连接方式。 以下是一个示例:Multibinding
答案 2 :(得分:0)
我不确定是否可以绑定到两个属性,但是没有理由不能创建两个TextBlocks吗?
<TextBlock Text="{Binding firstName}"/> <TextBlock Text="{Binding lastName}"/>
答案 3 :(得分:0)
使用MultiBinding或Converter(如果有复杂操作)