所以我有一个 Canvas 和一个椭圆。并调用一个方法来像这样移动椭圆
public void moveElipse1ToCoordinate(Point point)
{
Action action = () =>
{
TranslateTransform moveTo = new TranslateTransform();
moveTo.X = point.X;
moveTo.Y = point.Y;
StimulyEllipse1.RenderTransform = moveTo;
};
Dispatcher.BeginInvoke(action);
}
我在 for 循环中使用这个函数。
for(int i=0 ; i<=1000; i++)
moveElipse1ToCoordinate(new Point(i,i)
X 和 Y 坐标始终在 0 到 1000( Canvas 的大小)之间。然而椭圆根本没有显示。
这次通话我错过了什么?
最佳答案
如果你希望它作为动画平滑移动,你需要专门使用动画类。在循环完成之前,UI 不会更新(并且使用 Canvas 大小的 X、Y,椭圆将出现在整个 Canvas 的下方和右侧)。
关于wpf - RenderTranform 不进行渲染变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32204167/