WPF中Label使用StringFormat


1. 在WPF中Label的Content有時內容只需要改變個別數字,而不需要所以內容都修改,這時候就要使用StringFormat,

    如: <Label Content="I have xxx friends"/> 這里面的xxx是個變量,那在Binding時應該怎樣寫呢

1   <Label Content="{Binding FirendNumber, StringFormat='I have {0} firends}"/>
2                                  
View Code

  當我們這樣寫的時候發現,編譯時會保存,后來經過分析,發現StringFormat只能對字符串進行操作,而Label的Content是Object類型的,

  那怎么辦呢,是不是說Label不能使用StringFormat呢,Label 的 Content 確實不能直接使用 StringFormat,

但是可以使用 Label 的 ContentStringFormat 屬性來完成,例子如下:

<Label Content="{Binding FirendNumber} ContentStringFormat='I have {0} firends}"/>

 

當然你也可以嘗試使用控件嵌套的方式來實現,

  代碼如下:在Label的Content中嵌套一個TextBlock

1   <Label>
2           <Label.Content>
3                   <TextBlock Text="{Binding FirendNumber,StringFormat=I have {0} firends}"/>
4                    </Label.Content>
5                                             
6 </Label>
View Code

 請注意一點,StringFormat格式是這樣寫的 StringFormat=I have {0} firends ,等號后面是直接加內容,而要動態切換的則使用{n}, n>0

2. 有時候我們需要在Label的Content前后加上一個空格,那應該怎樣寫呢,

   StringFormat= I have {0} firends ,這樣嗎? 結果發現還是不行,

   其實只需要在內容外加上單引號即可:StringFormat=' I have {0} firends '


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM