我已經將基本動畫放在一起,控制縮放比例從0.1到1.0(x & y)。我始終看到的問題是,這些控制器在最終靜態狀態解決之前會「模糊」。WinRT(C#/ XAML)沒有模糊的比例
一個例子是我拿的這個屏幕凸輪。
我不知道是什麼導致了這一點。它是您通過Blend生成的默認動畫/故事板。
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.ScaleX)" Storyboard.TargetName="UIBorder" >
<EasingDoubleKeyFrame KeyTime="0" Value="0.2">
<EasingDoubleKeyFrame.EasingFunction>
<BackEase EasingMode="EaseInOut"/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
<EasingDoubleKeyFrame KeyTime="0:0:1.4" Value="1">
<EasingDoubleKeyFrame.EasingFunction>
<BackEase EasingMode="EaseInOut" Amplitude="3"/>
</EasingDoubleKeyFrame.EasingFunction>
</EasingDoubleKeyFrame>
</DoubleAnimationUsingKeyFrames>
所述控制:
<Grid x:Name="UIBorder" Width="555" HorizontalAlignment="Center" VerticalAlignment="Center" RenderTransformOrigin="0.5,0.5">
<Grid.RenderTransform>
<CompositeTransform ScaleY="0.2" ScaleX="0.2"/>
</Grid.RenderTransform>
<Grid Margin="122,0,0,0" RenderTransformOrigin="0.5,0.5" >
<Border Background="#FF343434" ManipulationMode="None" IsDoubleTapEnabled="False" IsHoldingEnabled="False" IsRightTapEnabled="False" IsTapEnabled="False" RenderTransformOrigin="0.5,0.5" >
<Border.RenderTransform>
<CompositeTransform/>
</Border.RenderTransform>
</Border>
</Grid>
<Image HorizontalAlignment="Left" VerticalAlignment="Center" Source="ms-appx:///Assets/Chrome/LoginSeal.png" Stretch="None"/>
</Grid>
注:
- 我有這個模糊證實兩者在Windows 8 PC上,並從兩個獨立的來源表面RT平板電腦(即不是硬件特定的)。
- 我試過BitmapCache,看看它是否有任何改變(會變得更糟)。
嗯。我不認爲你會完全消除這一點。縮放可能會很快完成,而不是準確完成,因此可能會導致模糊的「舍入」錯誤。 – ChrisF
否定的。我放慢了動畫速度以允許慢動畫,並且它們往往變得更糟。快速至少隱藏大部分模糊。 (對不起) –
我使用完全相同的代碼,並延長故事板的持續時間,但我沒有看到任何模糊的邊界?不知道我錯過了什麼? –