Zakładając, że nie potrzebujesz wartości wieku do edycji, w WPF 4.0 właściwość Text Run będzie wiążąca, to prawdopodobnie nie pomoże Ci teraz, chyba że korzystasz z przedpremierowego wydania, ale będziesz w stanie zrobić coś jak następuje:
<TextBlock x:Name="txtClientAge" >
<Run Text="Age "/><Run Text="{Binding Path=ClientAge}"/><Run Text=" Yrs"/>
</TextBlock>
UPDATE Herezje kolejna alternatywa dla rozwiązania ciąg formatu, który będzie działał, ale nie jest szczególnie ładna (w rzeczywistości jego dość hacky). Użyj następującego konwertera na wiązanie (zakładając własności klientelizmu jest typu 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", ""));
}
}
Czy chcesz, aby części "wiek" i "lata" były edytowalne? To znaczy. czy użytkownik powinien móc wpisać "wiek 40 lat" (lub może po prostu "40") w polu tekstowym w całości i czy jest poprawnie przetwarzany? –
W każdym przypadku, jeśli w aplikacji jest tylko jeden taki tekst (tzn. Nie trzeba go ponownie używać), rozwiązanie StackPanel + 2 TextBlocks + TextBox będzie najprostsze. –
Ma być używany tylko do odczytu, nie wymaga aktualizacji. – Mitch