Разработка ViewModel для взаимодействия между WPF View и устаревшими ненаблюдаемыми типами данных - PullRequest
0 голосов
/ 21 апреля 2019

Мне нужно написать ViewModel для взаимодействия между представлением WPF и устаревшим кодом.Устаревший код связывается с частью аппаратного обеспечения, и ни один из классов не реализует какой-либо механизм уведомления, такой как, например, INotifyPropertyChanged.

class MyDevice{

    public byte[] memory = new byte[256];

    public MyDevice(){
    }   

    private void OnSerialPortDataReceived(object sender, SerialDataReceivedEventArgs e) {
        // read serial port, interpret received data then update values on memory[]
        if (some condition){
            memory[index] = newValue;
        }       
    }

}

Приведенный выше код обновит наш локальный массив байтов в соответствии с данными, полученными от оборудования.

Теперь допустим, что я хочу в моем представлении привязать элемент управления ListView к содержимомуиз MyDevice.memory[]

Одной из возможностей будет замена типа данных массива на ObservableCollection.Однако это влияет на многие методы внутри MyDevice, и я бы предпочел не изменять их.

Как я могу написать ViewModel, чтобы разрешить такое взаимодействие, минимально влияя на мой унаследованный класс?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...