我正在使用C#开发一个Windows应用商店应用程序并遇到了一些我无法想象它很困难的事情,但我无法找到如何做到这一点.
在我的MainPage.xaml我创建了一个用户控制:StackPanel与水平方向,只有一个Image和一个TextBlock内.像这样:
<!-- language: lang-xml -->
<StackPanel Width="300" Height="100" Orientation="Horizontal" Margin="0,0,0,20" Tapped="LoremIpsum_Tapped">
<Image Source="/Assets/pic.jpg" Margin="20"/>
<TextBlock FontFamily="Segoe UI" FontSize="30" VerticalAlignment="Center">
Lorem Ipsum
</TextBlock>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
看起来像这样:

我将它用作自定义类型的按钮来访问某个子页面.现在的问题是,没有动画.我希望拥有ListItemSplitView中的典型动画:按下时缩小,释放时或指针退出控件的虚拟边框时恢复正常.我找不到与那些ListItems相关的动画声明/定义(Common.StandardStyles.xaml Standard130ItemTemplate).但我发现(这里)有预定义的动画:PointerDownThemeAnimation和PointerUpThemeAnimation.但是后来我花了很长时间才找到如何将它们应用到控件中.您可能认为本网站上提到的示例专门针对那些指针主题动画(关于C#)应该有所帮助,但它会导致HTML/Javascript动画的示例.但我在这里,这里和这里找到了解决方案.
所以我需要Storyboard在控件资源中使用一个名称,这样控件就可以在代码隐藏中成为目标和事件处理程序.
在我的XAML上应用它变为:
<!-- language: lang-xml -->
<StackPanel x:Name="LoremIpsum" Width="300" Height="100" Orientation="Horizontal" Margin="0,0,0,20" Tapped="LoremIpsum_Tapped" PointerPressed="LoremIpsum_AnimDown" PointerReleased="LoremIpsum_AnimUp" PointerExited="LoremIpsum_AnimUp">
<Image Source="/Assets/pic.jpg" Margin="20"/> …Run Code Online (Sandbox Code Playgroud)