C# 导致UI冻结或变慢的操作事件
我正在使用multi-touch,以便在物品上进行挤压操作。我有一个C# 导致UI冻结或变慢的操作事件,c#,.net,wpf,C#,.net,Wpf,我正在使用multi-touch,以便在物品上进行挤压操作。我有一个DispatchTimer在一组图像中循环,当我挤压时,我会更改当前的Image控件(我扩展了该控件),这样看起来你在挤压动画 我做过各种各样的优化,但我就是不明白为什么当我的手指在屏幕上移动时,动画会冻结或变得非常慢。即使我禁用了除图像动画以外的所有功能,移动手指仍然会导致相同的问题 另外,当我使用DispatchTimer创建多个动画时,挤压其中一个动画会冻结其余动画。有什么我遗漏的吗?为什么当我在屏幕上触摸时,整个UI似乎
DispatchTimer
在一组图像中循环,当我挤压时,我会更改当前的Image
控件(我扩展了该控件),这样看起来你在挤压动画
我做过各种各样的优化,但我就是不明白为什么当我的手指在屏幕上移动时,动画会冻结或变得非常慢。即使我禁用了除图像动画以外的所有功能,移动手指仍然会导致相同的问题
另外,当我使用DispatchTimer创建多个动画时,挤压其中一个动画会冻结其余动画。有什么我遗漏的吗?为什么当我在屏幕上触摸时,整个UI似乎都冻结了
冻结UI的我的操纵事件
private void _ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
if (e.Manipulators.Count() < 2) return;
e.Handled = true;
return;
}
private void\u操纵delta(对象发送方,操纵deltaeventargs e)
{
if(e.manipors.Count()<2)返回;
e、 已处理=正确;
回来
}
更新:我发现即使将空事件处理程序附加到
操纵增量
事件并打开操纵,UI也会冻结。通过在操纵处理程序外部优化我的代码解决了这一问题。通过在操纵处理程序外部优化我的代码解决了这一问题。这种行为是一个bug
然而,这种行为是一个bug
详细说明e.manufactors.Count()的逻辑和_-manufactionDelta.的事件连接。。描述有关实现的更多详细信息详细说明e.manufactors.Count()的逻辑和_-manufactionDelta.的事件连接。。描述有关实现的更多详细信息