在我的MVVM应用程序中,我有一个Direct3d渲染窗口,显示场景中的一堆3D网格。在那个渲染窗口中,我想能够点击场景中的其中一个3D网格并移动它,使其跟随鼠标光标移动。这是典型的3D编辑器操作,将网格沿着屏幕空间移动。因此,我需要能够获取当前鼠标位置,最好是相对于Direct3d渲染窗口的位置。
有什么方法可以做到这一点吗?
谢谢!
编辑:更改措辞,因为它过于通用,导致混淆。
有什么方法可以做到这一点吗?
谢谢!
编辑:更改措辞,因为它过于通用,导致混淆。
我认为这种思考MVVM模式的方式是错误的。让我稍微改变一下你的问题来说明这一点。
如果你有一个自定义文本编辑控件,最好的方法是如何将按键事件传递给ViewModel?
绑定数据到控件,然后通过绑定更新数据,当控件被操作时,这不是更好吗?
所以,你有一个要在3D视图中显示的对象列表?将对象作为它们本身传递,并使用模板绑定将每个对象类型绑定到描述3D对象的DataTemplate,其中包括对对象中X、Y、Z项的绑定。