我正在开发一个Windows手机应用程序,我想估计用户在屏幕上轻弹时元素的距离。问题是ManipulationDeltaRoutedEventArgs.IsInertial
总是返回false,我无法检测到用户轻弹。
这是我的ManipulationDelta
事件处理程序
private void ItemList_ManipulationDelta(Object sender, ManipulationDeltaRoutedEventArgs e)
{
double currPos = e.Position.X;
var fwElement = (FrameworkElement)sender;
Thickness margin = fwElement.Margin;
margin.Left += (currPos - origin);
if (margin.Left < marginLeft) margin.Left = marginLeft;
fwElement.Margin = margin;
if (e.IsInertial)
{
System.Diagnostics.Debug.WriteLine("intertial");
}
}
答案 0 :(得分:2)
您需要启用与ManipulationModes
相关的 Inertia 相关e.IsInertial
才能正常工作。
例如,
this.ManipulationMode = ManipulationModes.TranslateX | ManipulationModes.TranslateInertia;