2012-09-11 42 views
0

我有這樣的結合我可以限制一個字符串使用綁定?

<TextBlock HorizontalAlignment="Center" Text="{Binding Client.Name}" Grid.Column="1"/> 

現在我希望能夠限制字符串結合 實例的大小:如果Client.Name有50個字符,我想只顯示25個字符

哪能限制這個?

回答

4

你可以試試這個使用值轉換器:

像這樣的東西(這可能需要調整,因爲我離我的dev的機器,所以這是從內存中)。

public class StringLengthConverter : IValueConverter 
{ 
    public int Length { get; set; } 

    public object Convert(object value, Type targetType, 
     object parameter, CultureInfo culture) 
    { 
     return (string)value.SubString(0, this.Length); 
    } 

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

另一種解決方法是直接從viewModel返回所需長度的字符串,例如,如果您有一個名稱爲30個字符的客戶端,則您的viewModel只能返回前25個字符:

public class ClientViewModel 
{ 
    private string _name; 

    public string Name 
    { 
     get 
     { 
      return _name.SubString(0, 25); 
      // Notify property changed.... 
     } 
    } 
} 
相關問題