再WPF中有时需要改变Label中部分内容,例如下面这个界面:
“清算日期:”是不变的,只需要变后面的日期。
虽然可以用了两个Label来实现,但代码显的很冗余,那该怎么处理呢,我们可以使用StringFormat。
最开始的写法是:
<Label Content="{Binding InitDate, StringFormat=清算日期:{0}"/>
编译后,只显示日期,而没有显示文字。
经分析,StringFormat只能对字符串进行操作,而Label的Content是Object类型的,那该怎么做呢。
处理方式稍微麻烦些,需要再Label中COntent中嵌套一个TextBlock,代码如下:
<Label>
<Label.Content>
<TextBlock Text="{Binding InitDate, StringFormat=清算日期:{0}}"/>
</Label.Content>
</Label>
有时候我们需要在Label的Content前后加上一个空格,就需要在内容外加上单引号:StringFormat=' 清算日期:{0} '