加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何获取WPF listview以将字节数组格式化为逗号分隔的字符

发布时间:2020-12-15 19:31:29 所属栏目:百科 来源:网络整理
导读:我正在尝试将一些数据绑定到 WPF列表视图.我的数据类型的一个属性是byte []类型,我希望它显示为逗号分隔的字符串,所以例如{12,54}将显示为12,54而不是Byte [ ]数组.我想我想制作一个自定义的DataTemplate,但我不确定.这是最好的方式吗?如果是这样,我该怎么
我正在尝试将一些数据绑定到 WPF列表视图.我的数据类型的一个属性是byte []类型,我希望它显示为逗号分隔的字符串,所以例如{12,54}将显示为12,54而不是Byte [ ]数组.我想我想制作一个自定义的DataTemplate,但我不确定.这是最好的方式吗?如果是这样,我该怎么办?如果没有,最好的方法是什么?

编辑:我只想将它用于一列 – 其他属性显示正常.

解决方法

我建议使用ValueConverter:

[ValueConversion(typeof(byte []),typeof(string))]
public class ByteArrayConverter : IValueConverter
{
    #region IValueConverter Members

    public object Convert(object value,Type targetType,object parameter,System.Globalization.CultureInfo culture)
    {
        byte [] bytes = (byte [])value;
        StringBuilder sb = new StringBuilder(100);
        for (int x = 0; x<bytes.Length; x++)
        {
            sb.Append(bytes[x].ToString()).Append(" ");
        }
        return sb.ToString();
    }

    public object ConvertBack(object value,System.Globalization.CultureInfo culture)
    {
        throw new NotSupportedException();
    }

    #endregion
}

在你的xaml中,你将它添加到你的绑定中:

<Window.Resources>
    <local:ByteArrayConverter x:Key="byteArrayConverter"/>
</Window.Resources>

...

"{Binding ByteArrayProperty,Converter={StaticResource byteArrayConverter}}"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读