2016-07-21 13 views
0

この文字数を制限するにはどうすればよいですか?TextBlock
例:最大5文字までしか表示できません。ValueConverterの最大文字数を制限する方法

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

ここ

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(); 
    } 
} 

答えて

0

使用この私のコンバータではコードです:あなたは、コンバータのリソースを宣言

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(); 
    } 
} 

、次の操作を行います。

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

はありがとうございましたが、 MaxLengthを取得しても認識されないか、アクセスできないn私のリソースに割り当てます – Reaper

+0

コンバータがあるプロジェクトを再コンパイルしてください。そうでなければ、xamlパーサーは新しいプロパティが存在しないことを知ります。 –

+0

あなたは何を再コンパイルするのですか? – Reaper

関連する問題