我可以让MultiBinding与StringFormat一起使用:
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} {1} (hired on {2:MMM dd, yyyy})">
<Binding Path="FirstName"/>
<Binding Path="LastName"/>
<Binding Path="HireDate"/>
</MultiBinding>
</TextBlock.Text>
Run Code Online (Sandbox Code Playgroud)
但是单个绑定的正确语法是什么?以下不起作用(虽然它似乎与此示例的语法相同):
<TextBlock Text="{Binding Path=HiredDate, StringFormat='{MMM dd, yyyy}'}"/>
Run Code Online (Sandbox Code Playgroud)
谢谢马特,我需要的是你的两个答案的组合,这很有效:
<TextBlock Text="{Binding Path=HiredDate,
StringFormat='Hired on {0:MMM dd, yyyy}'}"/>
Run Code Online (Sandbox Code Playgroud)
Mat*_*ton 10
您希望在示例中将花括号从格式字符串中删除,因为您没有将它们用作占位符(就像在String.Format()中使用"{0}"一样).
所以:
<TextBlock Text="{Binding Path=HiredDate, StringFormat='MMM dd, yyyy'}"/>
Run Code Online (Sandbox Code Playgroud)
如果要在字符串中的某处引用占位符值,可以通过使用反斜杠转义花括号来实现:
<TextBlock Text="{Binding Path=HiredDate, StringFormat='Hired on \{0\}'}"/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2649 次 |
| 最近记录: |