我有这个绑定
<TextBlock HorizontalAlignment="Center" Text="{Binding Client.Name}" Grid.Column="1"/>
现在我想限制字符串绑定的大小示例:如果 Client.Name 有 50 个字符,我想只显示 25 个字符
我该如何限制呢?
您可以使用值转换器尝试此操作:
像这样的东西(这可能需要调整,因为我远离我的开发机器,所以这是来自内存)。
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....
}
}
}