我正在使用 Surface SDK 来支持多点触控。我需要同时移动 2 个滑块...
我创建了一些 SurfaceSlider,效果很好,除了控件在移动后会产生一些惯性......
有没有办法消除惯性?我在网上搜索过,但没有找到任何东西......他们不提供选项或类似的东西......
如果您需要更多信息来解决我的问题,请告诉我...
谢谢
更新:我尝试过像这样制作自己的滑块,但它不起作用......
public class WtoSurfaceSlider : SurfaceSlider
{
#region " Ctors "
static WtoSurfaceSlider()
{
// Override metadata with style defined in themes xaml
DefaultStyleKeyProperty.OverrideMetadata(typeof(WtoSurfaceSlider), new FrameworkPropertyMetadata(typeof(WtoSurfaceSlider)));
}
public WtoSurfaceSlider()
{
Name = "New" + GetType().Name;
}
#endregion
#region " Method "
protected override void OnManipulationDelta(ManipulationDeltaEventArgs e)
{
if (e.IsInertial)
{
e.Complete();
e.Handled = true;
}
}
#endregion
}
编辑
最后,我通过 Eli Arbel 的评论找到了我的答案。我在资源 xaml 文件中声明了我的 SurfaceSlider,所以我没有 .cs。所以这对我来说很好:
public class WtoSurfaceThumb : SurfaceThumb
{
#region " Ctors "
static WtoSurfaceThumb()
{
// Override metadata with style defined in themes xaml
DefaultStyleKeyProperty.OverrideMetadata(typeof(WtoSurfaceThumb), new FrameworkPropertyMetadata(typeof(WtoSurfaceThumb)));
}
public WtoSurfaceThumb()
{
Name = "New" + GetType().Name;
PreviewFlicked += new FlickEventHandler(WtoSurfaceThumb_PreviewFlicked);
}
#endregion
#region " Method "
private void WtoSurfaceThumb_PreviewFlicked(object sender, FlickEventArgs e)
{
e.Handled = true;
}
#endregion
}
我用 WtoSurfaceThumb 替换了我的应用程序中的所有 SurfaceThumb。