开发ViewModel以在WPF View和旧式不可观察数据类型之间建立接口

时间:2019-04-21 18:16:38

标签: c# wpf mvvm

我需要编写一个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;
        }       
    }

}

上面的代码将根据从硬件接收的数据更新本地字节数组。

现在可以说我要在View中将ListView控件绑定到MyDevice.memory[]的内容

一种可能性是用ObservableCollection替换数组数据类型。但是,这会影响MyDevice内部的许多方法,我宁愿不更改它们。

如何编写一个ViewModel来允许这种交互,从而最小程度地影响我的旧类?

0 个答案:

没有答案