任何帮助或指示都会受到大力赞赏。
基本上我试图移动或在“转弯”时将一些椭圆重绘为画布。
目前我可以点击一个按钮将椭圆渲染到画布中的新位置。每当我尝试不止一次这样做时,例如,每个循环将TranslateTransform X和Y值递增一个,整个应用程序就会挂起。这是RenderTransform的问题吗?画布? MainPage线程?代码看起来很稳固,所以它为什么它不会多次移动椭圆是一个谜。
private void update()
{
int x = 0;
int y = 0;
while (turns <= 5)
{
TranslateTransform t = new TranslateTransform();
t.X = x + 1;
t.Y = y + 1;
// agent is a child element of a canvas.
agent.RenderTransform = t;
turns--;
}
}
答案 0 :(得分:1)
您可以使用CompositionTarget它可以帮助您
看this example
another good example
像这样使用它:
private void Update(object sender, EventArgs e)
{
//Your code here
}
并挂钩渲染事件CompositionTarget.Rendering += Update;
编辑:如果您使用的是Canvas,最好使用Canvas.Left和Canvas.Top附加属性