Nếu bạn đang sử dụng 3,5 SP1, bạn có thể sử dụng StringFormat
tài sản trên các ràng buộc:
<Label Content="{Binding Order.ID, StringFormat=Order ID \{0\}}"/>
Nếu không, sử dụng một bộ chuyển đổi:
<local:StringFormatConverter x:Key="StringFormatter" StringFormat="Order ID {0}" />
<Label Content="{Binding Order.ID, Converter=StringFormatter}"/>
Với StringFormatConverter
là một IValueConverter
:
[ValueConversion(typeof(object), typeof(string))]
public class StringFormatConverter : IValueConverter
{
public string StringFormat { get; set; }
public object Convert(object value, Type targetType,
object parameter, CultureInfo culture) {
if (string.IsNullOrEmpty(StringFormat)) return "";
return string.Format(StringFormat, value);
}
public object ConvertBack(object value, Type targetType,
object parameter, CultureInfo culture)
{
throw new NotSupportedException();
}
Điều đó sẽ thực hiện thủ thuật.
[Sửa: Thay đổi Text
tài sản để Content
]
Với ví dụ về chuỗi định dạng, điều gì sẽ xảy ra nếu chuỗi cần chứa dấu phẩy?Sau đó bạn có không có sự lựa chọn, nhưng để đi với các tùy chọn chuyển đổi? –
AFAIK điều khiển nhãn không có thuộc tính 'Văn bản'. Bạn nên liên kết với thuộc tính 'Content' –