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