鼠标移到 canvas 上停止计时器
mouse movement over canvas stops the timer
除了冻结之外,是否还有其他方法可以防止计算机监控鼠标相对于几何体的位置 objects?
我在 WPF window 的每一侧都有两个包含按钮和文本框的面板。两个面板之间是 canvas。计时器每秒 运行 10 次,并在侧面板的文本框中显示数字 1 到 10。 canvas 有一个 child,它是我创建的包含许多行的临时 canvas。临时 canvas 通过路径加载几何组(许多行),然后作为 child 添加到主 canvas。
问题是...
当我的鼠标在侧面板周围移动时,计时器保持良好的时间,数字 1 到 10 完美地绘制在文本框中。放大和缩小也非常快。当我将鼠标移到 canvas 上时,文本框中的数字变慢,甚至在鼠标快速移到 canvas 上时停止。
问题被隔离到几何组。当我发表评论时,问题就消失了。
我试过冻结几何组和画笔。定时器没有变化放慢速度。
我已经删除了我的 canvas_mouse 移动事件。定时器减速没有变化。
我已经使几何组更小(更少的行)。计时器速度更快,但仍然很慢。
除了冻结之外,是否还有其他方法可以防止计算机监控鼠标相对于几何体的位置 objects?
我的程序非常大,所以我只发布下面的临时 canvas 部分。
TempCanvas.Children.Clear()
Dim myPathPXF As Path = New Path
myPathPXF.Stroke = Brushes.Black
myPathPXF.StrokeThickness = 10
myPathPXF.Data = myGeometryGroupPXF
TempCanvas.Children.Add(myPathPXF) 'mouse movement over canvas stops program with this line
'created in world coordinates and render to screen coordinates
TempCanvas.RenderTransform = myTransformGroup
'show on plan view canvas
PlanViewCanvas.Children.Clear()
PlanViewCanvas.Children.Add(TempCanvas)
我在网上找了好几天也没有找到有同样问题的人。提前感谢您的帮助。
geometryGroup 大约有 1,000 行。
刚刚发现,当我打开一个对话框时,计时器以正确的速度运行,因为我假设鼠标不再被跟踪。
编辑:
我使用的是 Visual Studio 2019。我只是 运行 我的代码到 Visual Studio 2015,问题就消失了。
问题似乎与几何组无关。当我从使用 Visual Studio 2019 切换到使用 Visual Studio 2015 时,问题就消失了。
除了冻结之外,是否还有其他方法可以防止计算机监控鼠标相对于几何体的位置 objects?
我在 WPF window 的每一侧都有两个包含按钮和文本框的面板。两个面板之间是 canvas。计时器每秒 运行 10 次,并在侧面板的文本框中显示数字 1 到 10。 canvas 有一个 child,它是我创建的包含许多行的临时 canvas。临时 canvas 通过路径加载几何组(许多行),然后作为 child 添加到主 canvas。 问题是... 当我的鼠标在侧面板周围移动时,计时器保持良好的时间,数字 1 到 10 完美地绘制在文本框中。放大和缩小也非常快。当我将鼠标移到 canvas 上时,文本框中的数字变慢,甚至在鼠标快速移到 canvas 上时停止。 问题被隔离到几何组。当我发表评论时,问题就消失了。
我试过冻结几何组和画笔。定时器没有变化放慢速度。 我已经删除了我的 canvas_mouse 移动事件。定时器减速没有变化。 我已经使几何组更小(更少的行)。计时器速度更快,但仍然很慢。
除了冻结之外,是否还有其他方法可以防止计算机监控鼠标相对于几何体的位置 objects?
我的程序非常大,所以我只发布下面的临时 canvas 部分。
TempCanvas.Children.Clear()
Dim myPathPXF As Path = New Path
myPathPXF.Stroke = Brushes.Black
myPathPXF.StrokeThickness = 10
myPathPXF.Data = myGeometryGroupPXF
TempCanvas.Children.Add(myPathPXF) 'mouse movement over canvas stops program with this line
'created in world coordinates and render to screen coordinates
TempCanvas.RenderTransform = myTransformGroup
'show on plan view canvas
PlanViewCanvas.Children.Clear()
PlanViewCanvas.Children.Add(TempCanvas)
我在网上找了好几天也没有找到有同样问题的人。提前感谢您的帮助。
geometryGroup 大约有 1,000 行。
刚刚发现,当我打开一个对话框时,计时器以正确的速度运行,因为我假设鼠标不再被跟踪。
编辑: 我使用的是 Visual Studio 2019。我只是 运行 我的代码到 Visual Studio 2015,问题就消失了。
问题似乎与几何组无关。当我从使用 Visual Studio 2019 切换到使用 Visual Studio 2015 时,问题就消失了。