Suponiendo que no necesita el valor de edad para ser editable, en WPF 4.0 la propiedad Text de Run será enlazable, esto probablemente no lo ayude ahora a menos que esté utilizando el prelanzamiento, pero estará capaz de hacer algo como lo siguiente:
<TextBlock x:Name="txtClientAge" >
<Run Text="Age "/><Run Text="{Binding Path=ClientAge}"/><Run Text=" Yrs"/>
</TextBlock>
ACTUALIZACIÓN Heres otra alternativa para la solución de cadena de formato que funciona, pero no es especialmente bonita (de hecho es bastante hacky). Utiliza el siguiente convertidor en la unión (propiedad de clientela suponiendo que es de tipo int):
public class AgeConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
string age = value.ToString();
return "Age " + age + " years";
}
public object ConvertBack(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
string age = value as string;
return Int32.Parse(age.Replace("Age ", " ").Replace(" years", ""));
}
}
¿Desea que las partes "edad" y "años" sean editables? Es decir. ¿debería el usuario escribir "años 40 años" (o quizás también simplemente "40") en el cuadro de texto en su totalidad, y hacer que se analice correctamente? –
En cualquier caso, si solo tiene un cuadro de texto único en su aplicación (es decir, no es necesario que sea reutilizable), la solución StackPanel + 2 TextBlocks + TextBox será la más simple. –
Solo se debe utilizar como de solo lectura, no es necesario realizar ninguna actualización. – Mitch