2012-02-22 31 views
8

Tôi không thể lấy được DataBinding để cắt các chữ số thập phân của giá trị trượt đôi và thêm dấu%. Tôi muốn chế độ xem của tôi chỉ hiển thị "89%" ngay cả khi giá trị thanh trượt là 89,1234. Có thể sử dụng stringFormat trong WPF DataBinding để nhận ra hành vi đó?Làm thế nào để sử dụng StringFormat để làm tròn một giá trị kép bị ràng buộc

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

Cảm ơn bạn rất nhiều vì đã giúp đỡ.

Trả lời

17

Bạn không thể sử dụng của Binding StringFormat nếu bạn cũng đang sử dụng một LabelLabel có một tính chất gọi ContentStringFormat đó sẽ ghi đè của ràng buộc StringFormat

Hoặc sử dụng tài sản ContentStringFormat của Label

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

Hoặc chuyển sang sử dụng một số TextBlock

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

Tôi chưa bao giờ thích nhãn ... –

+0

@ H.B. Tôi cũng không ... Tôi chỉ sử dụng chúng khi tôi muốn các khả năng lựa chọn cho một số mục có giới hạn. Nếu tôi muốn các khả năng lựa chọn cho một số lượng lớn các mục văn bản, tôi sẽ thực sự sử dụng một lớp tùy chỉnh là một 'TextBlock' thay đổi thành một' TextBox' không biên giới trên 'MouseOver' thay vì' Label', vì nó làm giảm số lượng các yếu tố được vẽ trên màn hình, giúp cải thiện hiệu suất. – Rachel

Các vấn đề liên quan