2012-02-22 101 views
8

我無法讓我的DataBinding切斷我的滑塊雙精度值的十進制數字並添加%符號。我希望我的視圖只顯示「89%」,即使滑塊值是89.1234。是否有可能在WPF DataBinding中使用stringFormat來實現該行爲?如何使用StringFormat四捨五入綁定的雙值

<Label Content="{Binding ElementName=Slider, Path=Value}"/> 

非常感謝您的幫助。

回答

17

如果您還使用一個Label因爲Label您不能使用綁定的StringFormat有一個名爲ContentStringFormat屬性,它會覆蓋綁定的StringFormat

或者使用標籤的ContentStringFormat財產

<Label Content="{Binding ElementName=Slider, Path=Value}" 
     ContentStringFormat="{}{0:N0}%" /> 

或切換到使用TextBlock

<TextBlock Text="{Binding ElementName=Slider, Path=Value, StringFormat={}{0:N0}%}" /> 
+0

我從來不喜歡標籤... – 2012-02-22 15:01:48

+0

@ H.B。我既不......我只在需要選擇數量有限的物品時才使用它們。如果我想要大量文本項目的選擇功能,我實際上會使用一個自定義類,它是一個'TextBlock',它改變爲'MouseOver'上的無邊框'TextBox',而不是'Label',因爲它減少了在屏幕上繪製的元素可以提高性能。 – Rachel 2012-02-22 15:04:52