wpf - RenderTranform 不进行渲染变换

标签 wpf ellipse uielement

所以我有一个 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/

相关文章:

wpf - 如果绑定(bind)源为空,如何为图像设置默认源?

ios - 如何在绘制曲线时隐藏矩形轮廓

math - 椭圆的标准形式

wpf - 如何使 Silverlight 控件对鼠标操作不可见?

WPF 按钮样式未应用于子元素

WPF MVVM 共享数据源

ios - 用于捕获 UIElements 通知的自定义 UITableViewCell 的最佳实践

c# - 从动画完成事件中获取 UIElement

c# - 绑定(bind)到静态类属性

math - 3d 成像 : defining an ellipsoid based on 3 given ellipses which are parallel to the Cartesian planes