1

我有一个具有字节数组属性的客户类。应用程序使用字节数组作为图像源。当我更改此数组时,UI 不会更新(因为 byte[] 不是 ObservableCollection)。

我什么时候可以强制刷新 UI?

编辑:图像保存为字节数组,因为它位于 DB(varbinary(MAX))中。我尝试将类型更改为 IList 但在 nhibernate 中弹出错误:无法确定 System..IList 的类型

4

1 回答 1

2

让你的班级实施INotifyPropertyChanged

一旦 Byte 数组发生变化,就引发PropertyChanged事件。

例如:

class Customer : INotifyPropertyChanged
{
    private byte[] byteArray;

    public byte[] ByteArray
    {
        get
        {
            return byteArray;
        }
        set
        {
            if (value != byteArray)
            {
                byteArray = value;
                RaisePropertyChanged("ByteArray");
            }
        }
    }

    private void RaisePropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName);
        }
    }


    public event PropertyChangedEventHandler PropertyChanged;
}
于 2012-12-22T19:33:29.600 回答