Si está utilizando 3.5 SP1, puede utilizar la propiedad StringFormat
sobre la unión:
<Label Content="{Binding Order.ID, StringFormat=Order ID \{0\}}"/>
De lo contrario, utilizar un convertidor:
<local:StringFormatConverter x:Key="StringFormatter" StringFormat="Order ID {0}" />
<Label Content="{Binding Order.ID, Converter=StringFormatter}"/>
Con StringFormatConverter
ser un 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();
}
Eso hará el truco.
[Editar: Cambiar la propiedad Text
a Content
]
Con el ejemplo de formato de cadena, ¿qué sucede si la cadena necesita contener una coma?¿Entonces no tiene más remedio que ir con la opción de conversión? –
AFAIK el control de etiqueta no tiene la propiedad 'Text'. Debería enlazar a la propiedad 'Contenido' –