【发布时间】:2012-01-17 12:12:45
【问题描述】:
WPF 中的 Slider 控件无法正常工作。
我需要同时滑动 2 个不同的控件(滑块)(每个用一根手指)。 当我触摸第一个 Slider 时,它会获得所有焦点,而我的第二个触摸设备无法触摸其他任何东西。
所以我需要创建自己的 Slider (MySlider),它继承自 Slider。 我做了4种方法:
protected override void OnTouchDown(TouchEventArgs e)
protected override void OnTouchUp(TouchEventArgs e)
protected override void OnTouchLeave(TouchEventArgs e)
protected override void OnTouchMove(TouchEventArgs e)
但是有没有办法像用鼠标一样移动滑块?或者我每次触摸设备移动时都需要计算:
protected override void OnTouchMove(TouchEventArgs e)
{
base.OnTouchMove(e);
if (this.Value <= this.Maximum && this.Value >= this.Minimum)
{
Point newPoint = e.GetTouchPoint(this).Position;
this.Value += (this.lastPoint.Y - newPoint.Y);
lastPoint = newPoint;
}
e.Handled = true;
}
在这种情况下,移动的速度与手指的移动速度不同......
【问题讨论】:
-
没有人能帮我解决这个问题吗?为多点触控创建我自己的滑块...
标签: wpf slider touch multi-touch