2016-07-21 18 views
0

Wie kann ich die Anzahl der Zeichen in dieser TextBlock begrenzen?
Zum Beispiel: Es können nur bis zu 5 Zeichen angezeigt werden.So begrenzen Sie die maximale Anzahl an Zeichen in ValueConverter

<TextBlock > 
    <Run Text="Tender Amount:"/> 
    <Run Text="{Binding TenderAmount, 
       Converter={StaticResource StringFormatConverter}, 
       ConverterParameter='{}{0:C}'}" /> 
</TextBlock> 

Hier ist der Code in meinem Converter

public sealed class StringFormatConverter : IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, string language) 
    { 
     if (value == null) 
      return null; 

     if (parameter == null) 
      return value; 

     return string.Format((string)parameter, value); 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, 
     string language) 
    { 
     throw new NotImplementedException(); 
    } 
} 

Antwort

0

verwenden:

public sealed class StringFormatConverter : IValueConverter 
{ 
    public int MaxLength { get; set; } 

    public object Convert(object value, Type targetType, object parameter, string language) 
    { 
     if (value == null) 
      return null; 

     if (parameter == null) 
      return value; 

     var result = string.Format((string)parameter, value); 

     if (MaxLength > 0) 
      result = result.Substring(0, MaxLength); 

     return result; 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, 
     string language) 
    { 
     throw new NotImplementedException(); 
    } 
} 

Wo Sie Ihre Konverter Ressource erklären, dies zu tun:

<stuff:StringFormatConverter x:Key="StringFormatConverter" MaxLength="5" /> 
+0

danken Ihnen, aber Ich bekomme eine MaxLength nicht erkannt oder nicht zugänglich whe n ich weise das in meiner Ressource zu – Reaper

+0

Stellen Sie sicher, dass Sie das Projekt erneut kompilieren, in dem sich der Konverter befindet, andernfalls weiß der XAML-Parser nicht, dass die neue Eigenschaft vorhanden ist. –

+0

was meinst du neu kompilieren? – Reaper

Verwandte Themen