c# - UWP(XAML 和 C#): Animated CommandBar icon

标签 c# xaml animation windows-10 win-universal-app

在与 OneDrive 同步照片集时,如何使 CommandBar 图标像在照片应用程序中一样动画?我应该使用 GIF 图片还是有更好的方法?

最佳答案

使用 xaml 中定义的 Storyboard 很容易:

 <Page.Resources>
    <Storyboard x:Name="IconRotation" AutoReverse="False" RepeatBehavior="Forever">
        <DoubleAnimation Duration="0:0:1" To="360" Storyboard.TargetProperty="(UIElement.RenderTransform).(CompositeTransform.Rotation)" Storyboard.TargetName="symbolIcon" />
   </Storyboard>
 </Page.Resources>

SymbolIconAppBarButtonCommandBar:

<CommandBar>
  <AppBarButton>
    <AppBarButton.Icon>
     <SymbolIcon x:Name="symbolIcon"  Symbol="Sync" RenderTransformOrigin="0.5,0.5" >
       <SymbolIcon.RenderTransform>
          <CompositeTransform/>
       </SymbolIcon.RenderTransform>
      </SymbolIcon>
     </AppBarButton.Icon>
    </AppBarButton>
  </CommandBar>

在cs文件中运行和停止:

IconRotation.Begin();
IconRotation.Stop();

要更改旋转速度,请更改 Storyboard上的Duration 属性,您应该能够获得与照片应用中完全相同的动画。

关于c# - UWP(XAML 和 C#): Animated CommandBar icon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35552630/

相关文章:

c# - 使用额外的属性扩展 TreeView?

c# - Silverlight 元素绑定(bind)不起作用

javascript - 使用javascript单击时的css3动画

c# - Unity/Firebase 如何使用 Google 进行身份验证?

c# - ScrollViewer 不使用 UWP Windows 10 Phone 滚动

c# - 如何在 .NET 中进行对象的深拷贝?

javascript - 使用淡入和淡出动画 block 中的文本变化

css - firefox css 动画旋转问题

c# - 如何拆分数组中的元素并将其作为新数组返回

c# - 如何从 silverlight 文件夹中打开文件