Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net WinRT动画没有';不显示中间值_.net_Xaml_Animation_Windows Runtime_Winrt Xaml - Fatal编程技术网

.net WinRT动画没有';不显示中间值

.net WinRT动画没有';不显示中间值,.net,xaml,animation,windows-runtime,winrt-xaml,.net,Xaml,Animation,Windows Runtime,Winrt Xaml,在WinRT中,许多动画根本不显示任何中间值,或者只在移动鼠标或发生其他系统事件时显示它们,这很奇怪。在动画结束时,会正确设置值,但在执行期间(在我的情况下,动画持续2秒),不会显示中间值 2秒钟后,窗口消失,但按X键时看不到它翻转。有时,如果在动画中移动鼠标,可以看到它,但这通常仅在XAML图形更复杂时发生 以下是XAML: 添加flipAnim.EnableDependentAnimation=true,它会工作。出于某种原因,当您使用接近零的值时,它会工作,但实际上不是零

在WinRT中,许多动画根本不显示任何中间值,或者只在移动鼠标或发生其他系统事件时显示它们,这很奇怪。在动画结束时,会正确设置值,但在执行期间(在我的情况下,动画持续2秒),不会显示中间值

2秒钟后,窗口消失,但按X键时看不到它翻转。有时,如果在动画中移动鼠标,可以看到它,但这通常仅在XAML图形更复杂时发生

以下是XAML:



添加
flipAnim.EnableDependentAnimation=true,它会工作。

出于某种原因,当您使用接近零的值时,它会工作,但实际上不是零

        private void CloseBorder_OnPointerReleased(object sender, PointerRoutedEventArgs e)
        {
            // Spin AnimatedDialog to close.

            var storyboard = new Storyboard();

            var projection = AnimatedDialog.Projection as PlaneProjection;
            projection.CenterOfRotationY = 0.5;
            projection.RotationX = .0000000001;  // <--- this line changed

            var flipAnim = new DoubleAnimation();

            Storyboard.SetTarget(flipAnim, projection);
            Storyboard.SetTargetProperty(flipAnim, "RotationX");

            // 2 second flip
            flipAnim.Duration = new Duration(new TimeSpan(0, 0, 2));
            flipAnim.EasingFunction = new QuadraticEase { EasingMode = EasingMode.EaseIn };
            flipAnim.From = projection.RotationX;  // <--- this line changed
            flipAnim.To = 90;

            storyboard.Children.Add(flipAnim);

            storyboard.Completed += StoryboardOnCompleted;

            storyboard.Begin();
        }

        private void StoryboardOnCompleted(object sender, object o)
        {
            Debug.WriteLine("Completed storyboard.");
        }
private void CloseBorder\u OnPointerReleased(对象发送方,PointerRoutedEventArgs e)
{
//旋转动画对话框以关闭。
var storyboard=新故事板();
var projection=动画对话框。投影为平面投影;
投影。旋转中心Y=0.5;

projection.RotationX=.000000000 1;//没有,抱歉。我知道相关动画,但这不是一个。我用您的代码创建了一个新项目,当我添加EnableDependentAnimation时,对话框就会翻转。如果移动鼠标,它确实可能会翻转。其他系统事件似乎也会启动动画。这是o原始问题。单击X后,尝试根本不移动鼠标,然后再移动几次,然后让我知道结果。谢谢!你说得对,如果我不移动鼠标光标,动画也不会发生。我尝试了几种方法,但我不知道为什么这不起作用。是的,如果在这方面移动鼠标通常对我不起作用例如。坦率地说,我在WinRT中的很多动画中都看到了这种精确的行为。我认为这是一个bug,并在Microsoft Connect上提交了它。对我来说,添加这一行没有什么区别。我怀疑你在移动鼠标(更仔细地阅读原始问题)。你能在点击X后尝试保持鼠标静止吗?请尝试几次,让我知道发生了什么。我没有移动鼠标。我完全按照你的要求做了,我确实看到它在没有动画的情况下翻转。但是,我的实现更改了两行,并且它在没有移动鼠标的情况下100%工作。请查看评论在代码中,可以看到更改了什么。实际上,我更改了两行,但只有当您移动鼠标时,这两行仍然有效。您是否绝对确定在单击时保持鼠标不动?好的,我错误地键入了第二行,您是对的,如果您这样做,它会起作用。这确实非常奇怪。我可能已将其提交给Microsoft Connect他们可以给出更好的解释。谢谢,我将此标记为解决方案。还注意到,如果您使用带关键帧的
DoubleAnimation
而不是
DoubleAnimation
,则只需更改第一行。此外,从90到0的动画设置总是有效的,而不是从0(准确地)到90。