翻转动画后Silverlight屏幕模糊
我创建了一个翻转动画,可以从项目列表转到编辑对话框。例如,用户看到一个项目列表,双击一个项目进行编辑,屏幕翻转以显示包含详细信息的编辑对话框 我有实际的动画工作,除了屏幕上的项目有点模糊。当我翻回到同样模糊的列表时 有人能说出原因吗。我在下面展示了我是如何完成翻转的翻转动画后Silverlight屏幕模糊,silverlight,animation,screen-resolution,Silverlight,Animation,Screen Resolution,我创建了一个翻转动画,可以从项目列表转到编辑对话框。例如,用户看到一个项目列表,双击一个项目进行编辑,屏幕翻转以显示包含详细信息的编辑对话框 我有实际的动画工作,除了屏幕上的项目有点模糊。当我翻回到同样模糊的列表时 有人能说出原因吗。我在下面展示了我是如何完成翻转的 <ContentControl x:Name="EditPtrMainContent" HorizontalAlignment="Stretch" VerticalAlignment="Stretch
<ContentControl x:Name="EditPtrMainContent" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<ContentControl.Resources>
<Storyboard x:Name="FlipToEditStart">
<DoubleAnimation From="0" To="90" Duration="0:0:0.3" Storyboard.TargetName="ContentProjection" Storyboard.TargetProperty="RotationY"/>
</Storyboard>
<Storyboard x:Name="FlipToEditEnd">
<DoubleAnimation From="270" To="360" Duration="0:0:0.3" Storyboard.TargetName="ContentProjection" Storyboard.TargetProperty="RotationY"/>
</Storyboard>
<Storyboard x:Name="FlipToListStart">
<DoubleAnimation From="0" To="-90" Duration="0:0:0.3" Storyboard.TargetName="ContentProjection" Storyboard.TargetProperty="RotationY"/>
</Storyboard>
<Storyboard x:Name="FlipToListEnd">
<DoubleAnimation From="-270" To="-360" Duration="0:0:0.3" Storyboard.TargetName="ContentProjection" Storyboard.TargetProperty="RotationY"/>
</Storyboard>
</ContentControl.Resources>
<ContentControl.Projection>
<PlaneProjection x:Name="ContentProjection"/>
</ContentControl.Projection>
</ContentControl>
如您所见,我在双击(或单击按钮)时开始动画的前半部分,并将动画设置为90度。然后,当这个动画完成时,我将ContentControl的内容更改为新屏幕,并启动第二个动画,使其从270度变为360度。通过编辑屏幕上的MVVM Light Messenger呼叫,我做了一个反向动画以返回列表。所有这些都可以正常工作,但正如我所说,屏幕变得有点模糊。我不是在想象它,因为编辑屏幕是一个视图/视图模型,也在其他地方使用,因此很容易比较。
在动画结束时是否需要执行某些操作以正确地重新绘制屏幕?添加以下事件处理程序-360度或360度旋转会导致问题,必须在动画后替换为0
FlipToEditEnd.Completed += (a, b) => { ContentProjection.RotationY = 0.0; };
FlipToListEnd.Completed += (a, b) => { ContentProjection.RotationY = 0.0; };
FlipToEditEnd.Completed += (a, b) => { ContentProjection.RotationY = 0.0; };
FlipToListEnd.Completed += (a, b) => { ContentProjection.RotationY = 0.0; };