我真的希望能够对我绑定的东西进行一些操作。类似于能够在<%#%>中调用String.Format() ASP.Net中的标签。
例如,假设这是我绑定的类型:
class User {
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
这是我绑定它的标签(我知道这不起作用):
<Label Name="someLabel" Content="{Binding LastName+,+FirstName+ +Age}")/>
我希望结果如何:史密斯,约翰逊32
答案 0 :(得分:8)
Multibinding + StringFormat(3.5 sp1)!!!!!
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{0}, {1} {2}">
<Binding Path="LastName"/>
<Binding Path="FirstName"/>
<Binding Path="Age"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
答案 1 :(得分:3)
试试这个:
class User {
//...
public string NameAndAge
{
get
{
return string.Format("{0}, {1} {2}",LastName , FirstName , Age);
};
}
}
<Label Name="someLabel" Content="{Binding NameAndAge}")/>
答案 2 :(得分:0)
我最终这样做了:
<TextBlock>
<TextBlock Text="{Binding LastName}"/><Run>,</Run>
<TextBlock Text="{Binding FirstName}"/>
<TextBlock Text="{Binding Age}"/>
</TextBlock>
如果我遇到同样问题的人,我会在这里留下答案。
我仍然很想知道是否有其他人知道更聪明的方法来实现这一目标,因为这似乎有点蠢。