背水一战 Windows 10 (16) - 动画: ThemeAnimation(主题动画)
作者:webabcd
介绍
背水一战 Windows 10 之 动画
- PopInThemeAnimation - 控件出现时的动画
- PopOutThemeAnimation - 控件消失时的动画
- FadeInThemeAnimation - 控件淡入的动画
- FadeOutThemeAnimation - 控件淡出的动画
- PointerDownThemeAnimation - 鼠标(手指)在控件上按下时的动画
- PointerUpThemeAnimation - 鼠标(手指)在控件上抬起时的动画
- SwipeHintThemeAnimation - 控件的 Swipe 动画(当你的控件在收到 Swipe 后会做响应时)
- SwipeBackThemeAnimation - 控件的 Swipe 动画(当你的控件在收到 Swipe 后不需要做任何响应时)
- RepositionThemeAnimation - 控件重新定位时的动画
- SplitOpenThemeAnimation - 打开“拆分”控件的动画
- SplitCloseThemeAnimation - 关闭“拆分”控件的动画
- DrillInThemeAnimation - 有层次关系的,从上级到下级的导航动画(master 到 details)
- DrillOutThemeAnimation - 有层次关系的,从下级到上级的导航动画(details 到 master)
- DragItemThemeAnimation, DragOverThemeAnimation, DropTargetItemThemeAnimation - 顾名思义的一些动画效果,用于集合类的控件
示例
1、演示主题动画之 PopInThemeAnimation, PopOutThemeAnimation
Animation/ThemeAnimation/PopInPopOut.xaml
<Page
x:Class="Windows10.Animation.ThemeAnimation.PopInPopOut"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Windows10.Animation.ThemeAnimation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"> <Grid Background="Transparent">
<StackPanel Margin="10 0 10 10">
<StackPanel.Resources>
<!--
注:各种 ThemeAnimation 均继承自 Timeline,但是 Timeline 的相关的控制类属性均无效,因为各种控制类属性是由对应的 ThemeAnimation 来决定的
--> <!--
PopInThemeAnimation - 控件出现时的动画
FromHorizontalOffset - 控件起始位置的水平偏移量
FromVerticalOffset - 控件起始位置的垂直偏移量
-->
<Storyboard x:Name="storyboardPopIn">
<PopInThemeAnimation Storyboard.TargetName="border" FromHorizontalOffset="1000" FromVerticalOffset="300" />
</Storyboard> <!--
PopOutThemeAnimation - 控件消失时的动画
-->
<Storyboard x:Name="storyboardPopOut">
<PopOutThemeAnimation Storyboard.TargetName="border" />
</Storyboard>
</StackPanel.Resources> <Border Name="border" BorderThickness="5" BorderBrush="Red" Background="Blue" CornerRadius="10" Width="400" Height="100" HorizontalAlignment="Left">
<Border.Child>
<TextBlock Text="我是 Border 里的内容" TextAlignment="Center" VerticalAlignment="Center" />
</Border.Child>
</Border> <Button Name="btnPopIn" Content="PopInThemeAnimation Demo" Click="btnPopIn_Click" Margin="0 30 0 0" />
<Button Name="btnPopOut" Content="PopOutThemeAnimation Demo" Click="btnPopOut_Click" Margin="0 10 0 0" /> </StackPanel>
</Grid>
</Page>
Animation/ThemeAnimation/PopInPopOut.xaml.cs
/*
* PopInThemeAnimation - 控件出现时的动画
* PopOutThemeAnimation - 控件消失时的动画
*/ using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls; namespace Windows10.Animation.ThemeAnimation
{
public sealed partial class PopInPopOut : Page
{
public PopInPopOut()
{
this.InitializeComponent();
} private void btnPopIn_Click(object sender, RoutedEventArgs e)
{
storyboardPopIn.Begin();
} private void btnPopOut_Click(object sender, RoutedEventArgs e)
{
storyboardPopOut.Begin();
}
}
}
2、演示主题动画之 FadeInThemeAnimation, FadeOutThemeAnimation
Animation/ThemeAnimation/FadeInFadeOut.xaml
<Page
x:Class="Windows10.Animation.ThemeAnimation.FadeInFadeOut"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Windows10.Animation.ThemeAnimation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"> <Grid Background="Transparent">
<StackPanel Margin="10 0 10 10">
<StackPanel.Resources>
<!--
注:各种 ThemeAnimation 均继承自 Timeline,但是 Timeline 的相关的控制类属性均无效,因为各种控制类属性是由对应的 ThemeAnimation 来决定的
--> <!--
FadeInThemeAnimation - 控件淡入的动画
-->
<Storyboard x:Name="storyboardFadeIn">
<FadeInThemeAnimation Storyboard.TargetName="border" Duration="00:00:10" />
</Storyboard> <!--
FadeOutThemeAnimation - 控件淡出的动画
-->
<Storyboard x:Name="storyboardFadeOut">
<FadeOutThemeAnimation Storyboard.TargetName="border" Duration="00:00:10" />
</Storyboard>
</StackPanel.Resources> <Border Name="border" BorderThickness="5" BorderBrush="Red" Background="Blue" CornerRadius="10" Width="400" Height="100" HorizontalAlignment="Left">
<Border.Child>
<TextBlock Text="我是 Border 里的内容" TextAlignment="Center" VerticalAlignment="Center" />
</Border.Child>
</Border> <Button Name="btnFadeIn" Content="FadeInThemeAnimation Demo" Click="btnFadeIn_Click" Margin="0 10 0 0" />
<Button Name="btnFadeOut" Content="FadeOutThemeAnimation Demo" Click="btnFadeOut_Click" Margin="0 10 0 0" /> </StackPanel>
</Grid>
</Page>
Animation/ThemeAnimation/FadeInFadeOut.xaml.cs
/*
* FadeInThemeAnimation - 控件淡入的动画
* FadeOutThemeAnimation - 控件淡出的动画
*/ using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls; namespace Windows10.Animation.ThemeAnimation
{
public sealed partial class FadeInFadeOut : Page
{
public FadeInFadeOut()
{
this.InitializeComponent();
} private void btnFadeIn_Click(object sender, RoutedEventArgs e)
{
storyboardFadeIn.Begin();
} private void btnFadeOut_Click(object sender, RoutedEventArgs e)
{
storyboardFadeOut.Begin();
}
}
}
3、演示主题动画之 PointerDownThemeAnimation, PointerUpThemeAnimation
Animation/ThemeAnimation/PointerDownPointerUp.xaml
<Page
x:Class="Windows10.Animation.ThemeAnimation.PointerDownPointerUp"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Windows10.Animation.ThemeAnimation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"> <Grid Background="Transparent">
<StackPanel Margin="10 0 10 10">
<StackPanel.Resources>
<!--
注:各种 ThemeAnimation 均继承自 Timeline,但是 Timeline 的相关的控制类属性均无效,因为各种控制类属性是由对应的 ThemeAnimation 来决定的
--> <!--
PointerDownThemeAnimation - 鼠标(手指)在控件上按下时的动画
-->
<Storyboard x:Name="storyboardPointerDown">
<PointerDownThemeAnimation Storyboard.TargetName="border" />
</Storyboard> <!--
PointerUpThemeAnimation - 鼠标(手指)在控件上抬起时的动画
-->
<Storyboard x:Name="storyboardPointerUp">
<PointerUpThemeAnimation Storyboard.TargetName="border" />
</Storyboard>
</StackPanel.Resources> <Border Name="border" BorderThickness="5" BorderBrush="Red" Background="Blue" CornerRadius="10" Width="400" Height="100" HorizontalAlignment="Left">
<Border.Child>
<TextBlock Text="我是 Border 里的内容" TextAlignment="Center" VerticalAlignment="Center" />
</Border.Child>
</Border> <!--
调用 PointerDownThemeAnimation 的 Begin() 方法就是按下时的动画,再调用 PointerDownThemeAnimation 的 Stop() 方法就是抬起时的动画
所以一般来说,只要使用 PointerDownThemeAnimation 的 Begin() 和 Stop() 即可,而不再需要 PointerUpThemeAnimation
-->
<Button Name="btnPointerDownBegin" Content="PointerDownThemeAnimation Begin Demo" Click="btnPointerDownBegin_Click" Margin="0 10 0 0" />
<Button Name="btnPointerDownStop" Content="PointerDownThemeAnimation Stop Demo" Click="btnPointerDownStop_Click" Margin="0 10 0 0" />
</StackPanel>
</Grid>
</Page>
Animation/ThemeAnimation/PointerDownPointerUp.xaml.cs
/*
* PointerDownThemeAnimation - 鼠标(手指)在控件上按下时的动画
* PointerUpThemeAnimation - 鼠标(手指)在控件上抬起时的动画
*
*
* 注:
* 调用 PointerDownThemeAnimation 的 Begin() 方法就是按下时的动画,再调用 PointerDownThemeAnimation 的 Stop() 方法就是抬起时的动画
* 所以一般来说,只要使用 PointerDownThemeAnimation 的 Begin() 和 Stop() 即可,而不再需要 PointerUpThemeAnimation
*/ using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls; namespace Windows10.Animation.ThemeAnimation
{
public sealed partial class PointerDownPointerUp : Page
{
public PointerDownPointerUp()
{
this.InitializeComponent();
} private void btnPointerDownBegin_Click(object sender, RoutedEventArgs e)
{
storyboardPointerDown.Begin();
} private void btnPointerDownStop_Click(object sender, RoutedEventArgs e)
{
storyboardPointerDown.Stop();
}
}
}
4、演示主题动画之 SwipeHintThemeAnimation, SwipeBackThemeAnimation
Animation/ThemeAnimation/SwipeHintSwipeBack.xaml
<Page
x:Class="Windows10.Animation.ThemeAnimation.SwipeHintSwipeBack"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Windows10.Animation.ThemeAnimation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"> <Grid Background="Transparent">
<StackPanel Margin="10 0 10 10">
<StackPanel.Resources>
<!--
注:各种 ThemeAnimation 均继承自 Timeline,但是 Timeline 的相关的控制类属性均无效,因为各种控制类属性是由对应的 ThemeAnimation 来决定的
--> <!--
SwipeHintThemeAnimation - 控件的 Swipe 动画(当你的控件在收到 Swipe 后会做响应时)
ToHorizontalOffset, ToVerticalOffset - 控件需要到达的偏移量
-->
<Storyboard x:Name="storyboardSwipeHint">
<SwipeHintThemeAnimation Storyboard.TargetName="border" ToHorizontalOffset="100" ToVerticalOffset="100" />
</Storyboard> <!--
SwipeBackThemeAnimation - 控件的 Swipe 动画(当你的控件在收到 Swipe 后不需要做任何响应时)
FromHorizontalOffset, FromVerticalOffset - 控件从此偏移量返回原位
-->
<Storyboard x:Name="storyboardSwipeBack">
<SwipeBackThemeAnimation Storyboard.TargetName="border" FromHorizontalOffset="100" FromVerticalOffset="100" />
</Storyboard>
</StackPanel.Resources> <Border Name="border" BorderThickness="5" BorderBrush="Red" Background="Blue" CornerRadius="10" Width="400" Height="100" HorizontalAlignment="Left">
<Border.Child>
<TextBlock Text="我是 Border 里的内容" TextAlignment="Center" VerticalAlignment="Center" />
</Border.Child>
</Border> <Button Name="btnSwipeHint" Content="SwipeHintThemeAnimation Demo" Click="btnSwipeHint_Click" Margin="0 10 0 0" />
<Button Name="btnSwipeBack" Content="SwipeBackThemeAnimation Demo" Click="btnSwipeBack_Click" Margin="0 10 0 0" /> </StackPanel>
</Grid>
</Page>
Animation/ThemeAnimation/SwipeHintSwipeBack.xaml.cs
/*
* SwipeHintThemeAnimation - 控件的 Swipe 动画(当你的控件在收到 Swipe 后会做响应时)
* SwipeBackThemeAnimation - 控件的 Swipe 动画(当你的控件在收到 Swipe 后不需要做任何响应时)
*/ using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls; namespace Windows10.Animation.ThemeAnimation
{
public sealed partial class SwipeHintSwipeBack : Page
{
public SwipeHintSwipeBack()
{
this.InitializeComponent();
} private void btnSwipeHint_Click(object sender, RoutedEventArgs e)
{
storyboardSwipeHint.Begin();
} private void btnSwipeBack_Click(object sender, RoutedEventArgs e)
{
storyboardSwipeBack.Begin();
}
}
}
5、演示主题动画之 RepositionThemeAnimation
Animation/ThemeAnimation/Reposition.xaml
<Page
x:Class="Windows10.Animation.ThemeAnimation.Reposition"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Windows10.Animation.ThemeAnimation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"> <Grid Background="Transparent">
<StackPanel Margin="10 0 10 10">
<StackPanel.Resources>
<!--
注:各种 ThemeAnimation 均继承自 Timeline,但是 Timeline 的相关的控制类属性均无效,因为各种控制类属性是由对应的 ThemeAnimation 来决定的
--> <!--
RepositionThemeAnimation - 控件重新定位时的动画
FromHorizontalOffset, FromVerticalOffset - 控件从此偏移量的位置重新定位到新的位置
-->
<Storyboard x:Name="storyboardReposition">
<RepositionThemeAnimation Storyboard.TargetName="border" FromHorizontalOffset="1000" FromVerticalOffset="300" />
</Storyboard>
</StackPanel.Resources> <Border Name="border" BorderThickness="5" BorderBrush="Red" Background="Blue" CornerRadius="10" Width="400" Height="100" HorizontalAlignment="Left">
<Border.Child>
<TextBlock Text="我是 Border 里的内容" TextAlignment="Center" VerticalAlignment="Center" />
</Border.Child>
</Border> <Button Name="btnReposition" Content="RepositionThemeAnimation Demo" Click="btnReposition_Click" Margin="0 10 0 0" /> </StackPanel>
</Grid>
</Page>
Animation/ThemeAnimation/Reposition.xaml.cs
/*
* RepositionThemeAnimation - 控件重新定位时的动画
*/ using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls; namespace Windows10.Animation.ThemeAnimation
{
public sealed partial class Reposition : Page
{
public Reposition()
{
this.InitializeComponent();
} private void btnReposition_Click(object sender, RoutedEventArgs e)
{
storyboardReposition.Begin();
}
}
}
6、演示主题动画之 SplitOpenThemeAnimation, SplitCloseThemeAnimation
Animation/ThemeAnimation/SplitOpenSplitClose.xaml
<Page
x:Class="Windows10.Animation.ThemeAnimation.SplitOpenSplitClose"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Windows10.Animation.ThemeAnimation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"> <Grid Background="Transparent">
<StackPanel Margin="10 0 10 10">
<StackPanel.Resources>
<!--
注:各种 ThemeAnimation 均继承自 Timeline,但是 Timeline 的相关的控制类属性均无效,因为各种控制类属性是由对应的 ThemeAnimation 来决定的
--> <!--
SplitOpenThemeAnimation - 打开“拆分”控件的动画
打开 OpenedTargetName(OpenedTargetName 的内容是 ContentTargetName),关闭 ClosedTargetName 具体的用法参见 ComboBox 的 ControlTemplate
-->
<Storyboard x:Name="storyboardSplitOpen">
<SplitOpenThemeAnimation
OpenedTargetName="border"
ContentTargetName="textBlock"
ClosedTargetName="rectangle"
ContentTranslationDirection="Left"
ContentTranslationOffset="200"
OffsetFromCenter="0"
OpenedLength="1"
ClosedLength="0" />
</Storyboard> <!--
SplitCloseThemeAnimation - 关闭“拆分”控件的动画
关闭 OpenedTargetName(OpenedTargetName 的内容是 ContentTargetName),打开 ClosedTargetName 具体的用法参见 ComboBox 的 ControlTemplate
-->
<Storyboard x:Name="storyboardSplitClose">
<SplitCloseThemeAnimation
OpenedTargetName="border"
ContentTargetName="textBlock"
ClosedTargetName="rectangle"
ContentTranslationDirection="Left"
ContentTranslationOffset="200"
OffsetFromCenter="0"
OpenedLength="1"
ClosedLength="0" />
</Storyboard>
</StackPanel.Resources> <Rectangle Name="rectangle" Width="400" Height="100" Fill="Orange" HorizontalAlignment="Left" />
<Border Name="border" BorderThickness="5" BorderBrush="Red" Background="Blue" CornerRadius="10" Width="400" Height="100" HorizontalAlignment="Left" /> <Button Name="btnSplitOpen" Content="SplitOpenThemeAnimation Demo" Click="btnSplitOpen_Click" Margin="0 10 0 0" />
<Button Name="btnSplitClose" Content="SplitCloseThemeAnimation Demo" Click="btnSplitClose_Click" Margin="0 10 0 0" /> </StackPanel>
</Grid>
</Page>
Animation/ThemeAnimation/SplitOpenSplitClose.xaml.cs
/*
* SplitOpenThemeAnimation - 打开“拆分”控件的动画
* SplitCloseThemeAnimation - 关闭“拆分”控件的动画
*/ using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls; namespace Windows10.Animation.ThemeAnimation
{
public sealed partial class SplitOpenSplitClose : Page
{
public SplitOpenSplitClose()
{
this.InitializeComponent();
} private void btnSplitOpen_Click(object sender, RoutedEventArgs e)
{
TextBlock textBlock = new TextBlock();
textBlock.Name = "textBlock";
textBlock.Text = "我是 Border 里的内容";
textBlock.TextAlignment = TextAlignment.Center;
textBlock.VerticalAlignment = VerticalAlignment.Center; border.Child = textBlock; storyboardSplitOpen.Begin();
} private void btnSplitClose_Click(object sender, RoutedEventArgs e)
{
storyboardSplitClose.Begin();
}
}
}
7、演示主题动画之 DrillInThemeAnimation, DrillOutThemeAnimation
Animation/ThemeAnimation/DrillInDrillOut.xaml
<Page
x:Class="Windows10.Animation.ThemeAnimation.DrillInDrillOut"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Windows10.Animation.ThemeAnimation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"> <Grid Background="Transparent">
<StackPanel Margin="10 0 10 10">
<StackPanel.Resources>
<!--
注:各种 ThemeAnimation 均继承自 Timeline,但是 Timeline 的相关的控制类属性均无效,因为各种控制类属性是由对应的 ThemeAnimation 来决定的
--> <!--
DrillInThemeAnimation - 有层次关系的,从上级到下级的导航动画(master 到 details)
EntranceTarget, EntranceTargetName - 需要动画显示的元素(details)
ExitTarget, ExitTargetName - 需要动画消失的元素(master)
-->
<Storyboard x:Name="storyboardDrillIn">
<DrillInThemeAnimation EntranceTargetName="borderDetails" ExitTargetName="borderMaster" />
</Storyboard> <!--
DrillOutThemeAnimation - 有层次关系的,从下级到上级的导航动画(details 到 master)
EntranceTarget, EntranceTargetName - 需要动画显示的元素(master)
ExitTarget, ExitTargetName - 需要动画消失的元素(details)
-->
<Storyboard x:Name="storyboardDrillOut">
<DrillOutThemeAnimation EntranceTarget="{x:Bind borderMaster}" ExitTarget="{x:Bind borderDetails}" />
</Storyboard>
</StackPanel.Resources> <Border Name="borderMaster" BorderThickness="5" BorderBrush="Red" Background="Blue" CornerRadius="10" Width="400" Height="100" HorizontalAlignment="Left">
<Border.Child>
<TextBlock Text="Master" TextAlignment="Center" VerticalAlignment="Center" />
</Border.Child>
</Border> <Border Name="borderDetails" BorderThickness="5" BorderBrush="Red" Background="Blue" CornerRadius="10" Width="400" Height="100" HorizontalAlignment="Left" Margin="10 5 0 0">
<Border.Child>
<TextBlock Text="Details" TextAlignment="Center" VerticalAlignment="Center" />
</Border.Child>
</Border> <Button Name="btnDrillIn" Content="DrillInThemeAnimation Demo" Click="btnDrillIn_Click" Margin="0 30 0 0" />
<Button Name="btnDrillOut" Content="DrillOutThemeAnimation Demo" Click="btnDrillOut_Click" Margin="0 10 0 0" /> </StackPanel>
</Grid>
</Page>
Animation/ThemeAnimation/DrillInDrillOut.xaml.cs
/*
* DrillInThemeAnimation - 有层次关系的,从上级到下级的导航动画(master 到 details)
* DrillOutThemeAnimation - 有层次关系的,从下级到上级的导航动画(details 到 master)
*/ using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls; namespace Windows10.Animation.ThemeAnimation
{
public sealed partial class DrillInDrillOut : Page
{
public DrillInDrillOut()
{
this.InitializeComponent();
} private void btnDrillIn_Click(object sender, RoutedEventArgs e)
{
storyboardDrillIn.Begin();
} private void btnDrillOut_Click(object sender, RoutedEventArgs e)
{
storyboardDrillOut.Begin();
}
}
}
8、演示主题动画之 DragItemThemeAnimation, DragOverThemeAnimation, DropTargetItemThemeAnimation
Animation/ThemeAnimation/DragItemDragOverDropTargetItem.xaml
<Page
x:Class="Windows10.Animation.ThemeAnimation.DragItemDragOverDropTargetItem"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Windows10.Animation.ThemeAnimation"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"> <Grid Background="Transparent">
<StackPanel Margin="10 0 10 10"> <TextBlock LineHeight="22">
<Run>顾名思义的 DragItemThemeAnimation, DragOverThemeAnimation, DropTargetItemThemeAnimation</Run>
<LineBreak />
<Run>具体的用法参见 GridViewItem 或 ListViewItem 的 ControlTemplate(另外,关于 GridViewItem 或 ListViewItem 的拖动项的说明,请参见控件部分的对应的示例代码)</Run>
</TextBlock> </StackPanel>
</Grid>
</Page>
OK
[源码下载]
背水一战 Windows 10 (16) - 动画: ThemeAnimation(主题动画)的更多相关文章
- 背水一战 Windows 10 (17) - 动画: ThemeTransition(过渡效果)
[源码下载] 背水一战 Windows 10 (17) - 动画: ThemeTransition(过渡效果) 作者:webabcd 介绍背水一战 Windows 10 之 动画 ThemeTrans ...
- 背水一战 Windows 10 (15) - 动画: 缓动动画
[源码下载] 背水一战 Windows 10 (15) - 动画: 缓动动画 作者:webabcd 介绍背水一战 Windows 10 之 动画 缓动动画 - easing 示例演示缓动(easing ...
- 背水一战 Windows 10 (14) - 动画: 线性动画, 关键帧动画
[源码下载] 背水一战 Windows 10 (14) - 动画: 线性动画, 关键帧动画 作者:webabcd 介绍背水一战 Windows 10 之 动画 线性动画 - ColorAnimatio ...
- 背水一战 Windows 10 (42) - 控件(导航类): Frame 动画
[源码下载] 背水一战 Windows 10 (42) - 控件(导航类): Frame 动画 作者:webabcd 介绍背水一战 Windows 10 之 控件(导航类) Frame 动画 示例An ...
- 背水一战 Windows 10 (29) - 控件(文本类): RichTextBlock, RichTextBlockOverflow, RichEditBox
[源码下载] 背水一战 Windows 10 (29) - 控件(文本类): RichTextBlock, RichTextBlockOverflow, RichEditBox 作者:webabcd ...
- 背水一战 Windows 10 (26) - XAML: x:DeferLoadStrategy, x:Null
[源码下载] 背水一战 Windows 10 (26) - XAML: x:DeferLoadStrategy, x:Null 作者:webabcd 介绍背水一战 Windows 10 之 XAML ...
- 背水一战 Windows 10 (4) - UI: 多窗口
[源码下载] 背水一战 Windows 10 (4) - UI: 多窗口 作者:webabcd 介绍背水一战 Windows 10 之 UI 多窗口 示例1.自定义帮助类,用于简化 Secondary ...
- 背水一战 Windows 10 (111) - 通知(Tile): secondary tile 模板之图片, secondary tile 模板之分组
[源码下载] 背水一战 Windows 10 (111) - 通知(Tile): secondary tile 模板之图片, secondary tile 模板之分组 作者:webabcd 介绍背水一 ...
- 背水一战 Windows 10 (78) - 自定义控件: 基础知识, 依赖属性, 附加属性
[源码下载] 背水一战 Windows 10 (78) - 自定义控件: 基础知识, 依赖属性, 附加属性 作者:webabcd 介绍背水一战 Windows 10 之 控件(自定义控件) 自定义控件 ...
随机推荐
- Hybrid App移动应用开发初探
一.移动App类型及其优缺点 1.1 Native App Native App(原生App)是用原生语言(Object-C/Java/C#/....)开发,用户需要下载安装的手机应用. 优点是 可以 ...
- NoSQL初探之人人都爱Redis:(4)Redis主从复制架构初步探索
一.主从复制架构简介 通过前面几篇的介绍中,我们都是在单机上使用Redis进行相关的实践操作,从本篇起,我们将初步探索一下Redis的集群,而集群中最经典的架构便是主从复制架构.那么,我们首先来了解一 ...
- [.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下)
[.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下) 本篇导读: 接上篇继续介绍SVN的高级功能,即使用分支并行开发.随着需求的不断变更,新功能的增加.特别是 ...
- ASP.NET MVC 5 - 创建连接字符串(Connection String)并使用SQL Server LocalDB
您创建的MovieDBContext类负责处理连接到数据库,并将Movie对象映射到数据库记录的任务中.你可能会问一个问题,如何指定它将连接到数据库? 实际上,确实没有指定要使用的数据库,Entity ...
- 如何创建一个RESTful WCF Service
原创地址:http://www.cnblogs.com/jfzhu/p/4044813.html 转载请注明出处 (一)web.config文件 要创建REST WCF Service,endpoin ...
- 为什么可以说Java语言是准动态语言?
什么是动态语言? 动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化.比如JavaScript便是一个典型的动态语言. 除此之外如Ruby.Python ...
- salesforce 零基础学习(四十五)Approval Lock & UnLock相关注意事项
我们都知道,当一条记录进入审批流程以后会自动加锁,apex提供Approval类的lock和unlock方法可以让我们使用代码对记录进行加锁和解锁. 项目中遇到一个需求,需要当某种情况下对记录进行先解 ...
- Java学习笔记(04)
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...
- Mesh Algorithm in OpenCascade
Mesh Algorithm in OpenCascade eryar@163.com Abstract. Rendering a generic surface is a two steps pro ...
- Torch学习笔记1--Torch简介
Torch是什么 Torch是一个由Lua语言开发的深度学习框架,目前支持Mac OS X 和Ubuntu 12及以上,官网 ,github地址. 具有如下特点: 交互式开发工具 可视化式的工具 第三 ...