拖动WPF组件时是否可以劫持鼠标?
我们需要使用鼠标绘制极坐标图。
而不是使用捕捉并要求用户有一些灵巧来匹配曲线,是否有可能劫持鼠标输入,并转换鼠标x以跟随度数/旋转和鼠标y跟随幅度?
蓝色表示从原点红色拖动后指针结束的位置。
答案 0 :(得分:1)
像其他提到的那样,如果没有看到你到目前为止的任何代码,写一些东西是非常困难的。但这将是我的看法。 WPF中常见的模式之一是MVVM。 MVVM代表Model View ViewModel。关键是要在ViewModel中绘制您正在绘制的值或基本上所有视图,只需通过ViewModel(转储视图)上的UI绑定绘制图形。现在,无论何时移动鼠标,都会将捕获坐标与viewmodel中绘图的值进行比较。然后,您必须检测要接管鼠标指针的模式,并通过代码更新位置。也许你需要插入运动以使其变得美观和流畅。
使用事件尤其是鼠标事件的非常好的库是Rx(https://github.com/Reactive-Extensions/Rx.NET),这可以帮助对鼠标事件做出反应并检测模式。
就像我说的,这只是一种方法,我将如何开始自己完成这项任务。由于到目前为止您没有提供任何代码,因此很难详细介绍。但我希望它可能有助于制定战略。