Я разрабатываю сенсорное приложение WPF4, в котором используются некоторые элементы управления Microsoft Surface.Я хотел бы поймать событие MouseDoubleClick для ScatterViewItem.Событие срабатывает, когда я использую мышь, но когда я использую свой палец, событие никогда не возникает.Почему?
Большое спасибо.
ОБНОВЛЕНИЕ :
Я наконец написал этот код для воспроизведения простого двойного касания с событием TouchLeave на ограниченном прямоугольнике(Ширина и высота 16px) и 500 мс в течение необходимого времени между 2 событиями TouchLeave.Этот код не оптимизирован, но он работает, если у вас есть замечания, не стесняйтесь:)
private bool _doubleHasTimeAndPos = false;
private TimeSpan? _doubleTouchTime = null;
private Point? _doubleTouchPoint = null;
private void ScatterViewItem_TouchLeave(object sender, TouchEventArgs e)
{
if (!this._doubleHasTimeAndPos)
{
this._doubleTouchTime = DateTime.Now.TimeOfDay;
this._doubleTouchPoint = e.GetTouchPoint(this.scatterView).Position;
this._doubleHasTimeAndPos = true;
}
else
{
if (DateTime.Now.TimeOfDay.Subtract(this._doubleTouchTime.Value).TotalMilliseconds <= 500)
{
Point touchPoint = e.GetTouchPoint(this.scatterView).Position;
double xDelta = Math.Abs(this._doubleTouchPoint.Value.X - touchPoint.X);
double yDelta = Math.Abs(this._doubleTouchPoint.Value.Y - touchPoint.Y);
if (xDelta <= 16 && yDelta <= 16)
{
// DOUBLE TAP here !
}
}
this._doubleTouchTime = null;
this._doubleTouchPoint = null;
this._doubleHasTimeAndPos = false;
}
}