我有一个 win 表单应用程序,我正在重写它以使用 WPF 和 MVVM 模式。它使用一个用 C++ 编写的 DLL 来公开我需要在 WPF 应用程序中将我的模型绑定到的几个函数。
例如,我有来自 DLL 的这个函数。
// The user supplied function will be called whenever a frame of data arrives.
SetDataHandlerFunc(void (*MyFunction)(sFrameOfData* pFrameOfData));
我有一个看起来像这样的包装 dll:
public delegate void HandlerFunction(IntPtr frameData);
[DllImport("lib\\SDK.dll")]
public extern static int SetDataHandlerFunc(HandlerFunction function);
让我稍后在我的表单应用程序中使用它,如下所示:
private HandlerFunction myFunction;
myFunction = new HandlerFunction(threadFunction);
private void threadFunction(IntPtr FrameData)
{
sFrameOfData frame = (sFrameOfData)Marshal.PtrToStructure(FrameData, typeof(sFrameOfData));
}
但我无法真正弄清楚如何将其转换为 MVVM 和 WPF 数据绑定。我认为我可能正在考虑使用 ObjectDataProvider 绑定到方法。
我需要从帧数据中获取一些参数(作为上面的 sFrameOfData 对象返回),并在 GUI 中显示它们,并让它们随着数据的变化而更新。
关于如何实现这样的事情的任何想法?