Düzenlenebilir olması gereken yaş değerine ihtiyacınız olmadığının varsayılması durumunda, WPF 4.0'da Çalıştırma'nın Text özelliği çalıştırılabilir durumdadır, bu ön sürümleri kullanmıyorsanız muhtemelen size yardımcı olmaz. aşağıdaki gibi bir şey yapabilir:
<TextBlock x:Name="txtClientAge" >
<Run Text="Age "/><Run Text="{Binding Path=ClientAge}"/><Run Text=" Yrs"/>
</TextBlock>
UPDATE İşte çalışır ancak (aslında onun oldukça hacky olarak) özellikle hoş değil edecek biçim dizesi çözümü için başka bir alternatif.
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", ""));
}
}
"Yaş" ve "yrs" parçalarının düzenlenebilir olmasını ister misiniz? Yani Kullanıcının bütünüyle metin kutusuna "40 yaş" (veya belki de "40") yazmasına izin verilmeli ve doğru şekilde ayrıştırılmış mı? –
Her halükarda, eğer uygulamanızda sadece böyle bir metin kutunuz varsa (yani, yeniden kullanılabilir olması gerekmiyorsa), StackPanel + 2 TextBlocks + TextBox çözümü en kolay olacak. –
Sadece readonly olarak kullanılacak, güncelleme gerektirmez. – Mitch