我有这个约束
<TextBlock HorizontalAlignment="Center" Text="{Binding Client.Name}" Grid.Column="1"/>
现在我想限制字符串绑定的大小 示例:如果Client.Name有50个字符,我只想显示25个字符
我该如何限制?
答案 0 :(得分: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....
}
}
}