- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个带有一些 UIElement 的 Canvas 。在我通过设置 top 和 left 属性的动画将它们移动到 Canvas 上之后,偶尔调用 Canvas.GetTop 会导致 NaN。
我没有正确“关闭”动画吗?
我是这样操作的
private void InternalMove(double durationMS, FrameworkElement fElement, Point point, EventHandler callback)
{
_moveElement = fElement;
_destination = point;
Duration duration = new Duration(TimeSpan.FromMilliseconds(durationMS));
DoubleAnimation moveLeftAnimation = new DoubleAnimation(Canvas.GetLeft(fElement), point.X, duration, FillBehavior.Stop);
Storyboard.SetTargetProperty(moveLeftAnimation, new PropertyPath("(Canvas.Left)"));
DoubleAnimation moveTopAnimation = new DoubleAnimation(Canvas.GetTop(fElement), point.Y, duration, FillBehavior.Stop);
Storyboard.SetTargetProperty(moveTopAnimation, new PropertyPath("(Canvas.Top)"));
// Create a storyboard to contain the animation.
_moveStoryboard = new Storyboard();
if (callback != null) _moveStoryboard.Completed += callback;
_moveStoryboard.Completed += new EventHandler(s1_Completed);
_moveStoryboard.Children.Add(moveLeftAnimation);
_moveStoryboard.Children.Add(moveTopAnimation);
_moveStoryboard.FillBehavior = FillBehavior.Stop;
_moveStoryboard.Begin(fElement);
}
private void s1_Completed(object sender, EventArgs e)
{
if (_moveStoryboard != null)
{
_moveStoryboard.BeginAnimation(Canvas.LeftProperty, null, HandoffBehavior.Compose);
_moveStoryboard.BeginAnimation(Canvas.TopProperty, null, HandoffBehavior.Compose);
}
Canvas.SetLeft(_moveElement, _destination.X);
Canvas.SetTop(_moveElement, _destination.Y);
}
谢谢
最佳答案
似乎普遍的共识是,如果未明确设置该值,则 Canvas.GetTop(x)
返回“Nan”(即使我明确设置了它,有时我仍然会得到该结果)。
我现在使用的另一种方法是
Vector offset = VisualTreeHelper.GetOffset(fElement);
它返回 fElement 在其容器中的位置。
关于c# - Canvas.GetTop() 返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/669071/
我似乎不太了解 android View 中 getTop() 和 getY() 之间的区别。它们有何不同? 最佳答案 getTop() 返回相对于父级的 y 坐标。 getY() 像 getTop(
我正在使用以下代码。但是所有方法都返回零值。我知道要获得 View 的坐标,我们的 View 应该被绘制。这就是为什么我在 onResume 方法中使用代码但仍然无法正常工作的原因。有什么想法吗?
我有一个带有一些 UIElement 的 Canvas 。在我通过设置 top 和 left 属性的动画将它们移动到 Canvas 上之后,偶尔调用 Canvas.GetTop 会导致 NaN。 我没
在我看来,Android 的坐标系统存在问题。当我有一个普通 View (不请求 FEATURE_NO_TITLE)时,我然后检索 int contentViewTop = window.findVi
我正在开发一个安卓锁屏应用。我从另一个线程得到的想法是检查手指按下的坐标与我设置的图像按钮的坐标。 我正在尝试使用 .getTop() 和 .getLeft() 获取图像按钮的坐标,但两者都返回 0.
我的 getLeft() 和 getTop() 有问题,它返回 0。我在 Stackoverflow 上看到我应该使用 GlobaleLayoutListener 但仍然无法正常工作。 我的观点是这样
本文整理了Java中com.koolearn.klibrary.text.view.ZLTextRegion.getTop()方法的一些代码示例,展示了ZLTextRegion.getTop()的具体
我有一个 TableLayout,单元格中有 View 。触摸其中一个 View 时,我尝试使用 view.getTop()。问题是无论我按哪个 View ,这都会返回 2。 getLeft() 有效
本文整理了Java中com.badlogic.gdx.scenes.scene2d.ui.Window.getTop()方法的一些代码示例,展示了Window.getTop()的具体用法。这些代码示例
我的布局: ... 我想保存所有按钮的 x 和 y 位置。 我试过这个: Button b[] = new Button[40]; int parX [] = new int[40]; int
我是一名优秀的程序员,十分优秀!