0

我有这个绑定

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

现在我想限制字符串绑定的大小示例:如果 Client.Name 有 50 个字符,我想只显示 25 个字符

我该如何限制呢?

4

1 回答 1

4

您可以使用值转换器尝试此操作:

像这样的东西(这可能需要调整,因为我远离我的开发机器,所以这是来自内存)。

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....
        }
    }
}
于 2012-09-11T19:34:41.967 回答