Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.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
C# 在WP7上显示动画图像_C#_Silverlight_Image_Windows Phone 7 - Fatal编程技术网

C# 在WP7上显示动画图像

C# 在WP7上显示动画图像,c#,silverlight,image,windows-phone-7,C#,Silverlight,Image,Windows Phone 7,我希望我的应用程序在加载内容时显示加载的动画图像,我尝试添加一个已经制作好的动画.gif,但似乎WP7不支持这个 该图像是加载类似以下内容的图像: 我正在考虑制作一种像2D游戏一样在精灵表之间滚动的方法,但这需要付出太多的努力才能制作出这样的方法,我不确定它是否能在silverlight中工作,还有其他简单的解决方案吗?不幸的是,silverlight不支持动画GIF。对我来说,使用Blend和一些向量图形(类似于您在上面发布的无限递归)效果很好。如果要重用用户控件,请尝试创建该控件。不幸的是

我希望我的应用程序在加载内容时显示加载的动画图像,我尝试添加一个已经制作好的动画.gif,但似乎WP7不支持这个

该图像是加载类似以下内容的图像:


我正在考虑制作一种像2D游戏一样在精灵表之间滚动的方法,但这需要付出太多的努力才能制作出这样的方法,我不确定它是否能在silverlight中工作,还有其他简单的解决方案吗?

不幸的是,silverlight不支持动画GIF。对我来说,使用Blend和一些向量图形(类似于您在上面发布的无限递归)效果很好。如果要重用用户控件,请尝试创建该控件。

不幸的是,Silverlight不支持动画GIF。对我来说,使用Blend和一些向量图形(类似于您在上面发布的无限递归)效果很好。如果您想重用用户控件,请尝试创建一个用户控件。

我以前已经采用了基于XAML的加载程序;它可以很好地作为覆盖层使用。不做后台工作时,只需将其可见性设置为Hidden,然后在后台工作时,如果希望使用加载指示器阻止UI的某些部分,请将其切换为Visible。动画是在XAML中定义的,因此它不需要任何代码或技巧就可以旋转

以下是相关信息:

<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> 

这是WPF,因此可能需要进行一些工作才能使其适应WP7

顺便说一句,当我说“覆盖”时,我的意思是将一个元素放置在另一个元素上。例如:

<Grid>
  <t:MyUserControl />
  <t:MyOverlayUserControl Visibility="Hidden" />
</Grid>

我以前使用过基于XAML的加载程序;它可以很好地作为覆盖层使用。不做后台工作时,只需将其可见性设置为Hidden,然后在后台工作时,如果希望使用加载指示器阻止UI的某些部分,请将其切换为Visible。动画是在XAML中定义的,因此它不需要任何代码或技巧就可以旋转

以下是相关信息:

<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> 

这是WPF,因此可能需要进行一些工作才能使其适应WP7

顺便说一句,当我说“覆盖”时,我的意思是将一个元素放置在另一个元素上。例如:

<Grid>
  <t:MyUserControl />
  <t:MyOverlayUserControl Visibility="Hidden" />
</Grid>


Silverlight中不支持动画gif-谷歌“动画gif Silverlight”可供选择Silverlight中不支持动画gif-谷歌“动画gif Silverlight”可供选择