2011-11-09 3 views
1

내 앱이로드 할 때 애니메이션 이미지를로드하려는 경우 이미 애니메이션 된 .gif 파일을 추가하려고했지만 WP7이 해당 파일을 지원하지 않는 것 같습니다 ...WP7에 애니메이션 이미지 표시

enter image description here

내가 2D 게임처럼 스프라이트 시트를 스크롤하는 방법을 만들기 위해 생각하고 있지만, 이러한 방법을 만들기 위해 너무 많은 노력을 필요로하고 내가 ':

이미지는 다음과 같이 로딩 뭔가입니다 그것은 실버 라이트, 그 다른 쉬운 솔루션에서 작동하지 않을지 모르겠다?

+1

애니메이션 GIF 실버 라이트에서 지원되지 않습니다

<Grid> <t:MyUserControl /> <t:MyOverlayUserControl Visibility="Hidden" /> </Grid> 
이 - 보스처럼 .. – BrokenGlass

답변

4

전에 XAML 기반 로더 Dean Chalk's을 적용했습니다. 오버레이로 꽤 잘 작동합니다. 백그라운드 작업을 수행하지 않을 때 Visibility를 Hidden으로 설정 한 다음 백그라운드에서 물건을 수행하는 동안 로딩 표시기로 UI의 일부를 차단하려는 경우 Visible로 전환하면됩니다. 애니메이션은 XAML에 정의되어 있으므로 회전 할 때 코드 나 속임수가 필요하지 않습니다. 이것은 WPF입니다

<Canvas RenderTransformOrigin="0.5,0.5" Width="120" Height="120"> 
    <Ellipse Width="21.835" Height="21.862" Canvas.Left="20.1696" Canvas.Top="9.76358" 
     Stretch="Fill" Fill="#E6000000"/> 
    <Ellipse Width="21.835" Height="21.862" Canvas.Left="2.86816" Canvas.Top="29.9581" 
     Stretch="Fill" Fill="#CD000000"/> 
    <Ellipse Width="21.835" Height="21.862" Canvas.Left="5.03758e-006" Canvas.Top="57.9341" 
     Stretch="Fill" Fill="#B3000000"/> 
    <Ellipse Width="21.835" Height="21.862" Canvas.Left="12.1203" Canvas.Top="83.3163" 
     Stretch="Fill" Fill="#9A000000"/> 
    <Ellipse Width="21.835" Height="21.862" Canvas.Left="36.5459" Canvas.Top="98.138" 
     Stretch="Fill" Fill="#80000000"/> 
    <Ellipse Width="21.835" Height="21.862" Canvas.Left="64.6723" Canvas.Top="96.8411" 
     Stretch="Fill" Fill="#67000000"/> 
    <Ellipse Width="21.835" Height="21.862" Canvas.Left="87.6176" Canvas.Top="81.2783" 
     Stretch="Fill" Fill="#4D000000"/> 
    <Ellipse Width="21.835" Height="21.862" Canvas.Left="98.165" Canvas.Top="54.414" 
     Stretch="Fill" Fill="#34000000"/> 
    <Ellipse Width="21.835" Height="21.862" Canvas.Left="92.9838" Canvas.Top="26.9938" 
     Stretch="Fill" Fill="#1A000000"/> 
    <Ellipse Width="21.835" Height="21.862" Canvas.Left="47.2783" Canvas.Top="0.5" 
     Stretch="Fill" Fill="#FF000000"/> 
    <Canvas.RenderTransform> 
     <RotateTransform x:Name="SpinnerRotate" Angle="0" /> 
    </Canvas.RenderTransform> 
    <Canvas.Triggers> 
     <EventTrigger RoutedEvent="ContentControl.Loaded"> 
      <BeginStoryboard> 
       <Storyboard> 
        <DoubleAnimation Storyboard.TargetName="SpinnerRotate" 
          Storyboard.TargetProperty="(RotateTransform.Angle)" 
          From="0" To="360" Duration="0:0:01" 
          RepeatBehavior="Forever" /> 
       </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger> 
    </Canvas.Triggers> 
</Canvas> 

You can click this link for more details., 그래서 WP7을 위해 그것을 적응하기 위해 몇 가지 작업을해야 할 수도 있습니다 :

여기에 관련 비트입니다.

나는 "오버레이"라고 할 때 한 요소를 다른 요소 위에 두는 것을 의미합니다. 예를 들면 :

+0

대안 "애니메이션 GIF 실버"를 구글 : 나는 lol'd – SKandeel

+0

@SherifMaherEaid 작동 – Will

2

아쉽게도 애니메이션 GIF는 Silverlight에서 지원되지 않습니다. 나와 블렌드를 사용하면 무한 재귀를 사용하여 위에 게시 한 벡터 그래픽과 비슷한 벡터 그래픽을 사용할 수 있습니다. 다시 사용하려면 사용자 정의 컨트롤을 만들어보십시오.