单击按钮移动光标

时间:2018-06-18 10:50:54

标签: c# wpf button mvvm controls

我有一个带有向上/向下按钮的控件列表,当我单击一个按钮时,它会在列表中重新排序。我的光标可以随按钮一起移动吗?

基本设置是我有一个Scrollviewer,它绑定到一个可观察的模型集合,通过转换器转换为视图/视图模型/模型配对。上/下按钮命令绑定到主窗口视图模型中的relay命令,并且与单击的按钮对应的模型作为参数传递,其索引由OC确定,并且OC被重新排序。

我的问题是我无法访问从主窗口视图模型中单击的控件的视图,因此我无法获得相对于单击按钮的光标位置。我也不能将光标向上/向下移动一个静态量,因为控件可能具有不同的高度,所以它不会总是对齐。

我还考虑在代码隐藏中的并行函数中执行此操作,但我不确定它将如何与viewmodel中的逻辑相匹配。在执行命令之前,我必须以某种方式抓住相对于按钮的鼠标位置,让命令执行,然后以某种方式在将鼠标移动到新位置的辅助代码隐藏方法中检索位置。使用PreviewMouseUp在命令触发之前获取按钮位置很容易,但MouseUp似乎根本不会触发,因此我不确定在命令之后我将如何移动鼠标。

0 个答案:

没有答案