我使用UWP构建XBOX ONE应用程序。我有一个GridView,我需要缩放所选项目的宽度和高度。任何人都有如何执行该行为的例子?在UWP中,如何在项目被选中时如何在GridView上缩放项目?
回答
在UWP中,如何在选择项目时在GridView上缩放项目?
首先,如何缩放一个物品,你可以使用ScaleTransform类。您可以在二维x-y坐标系中缩放对象。要在此处满足您的要求,可以为GridView
项目的样式模板的ContentBorder
创建一个ScaleTranform
对象。
<Grid
x:Name="ContentBorder"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<Grid.RenderTransform>
<ScaleTransform x:Name="contentborderscale"></ScaleTransform>
</Grid.RenderTransform>
其次,在选择项目时如何改变视觉状态,你需要根据默认GridViewItem styles and templates改变PointerOverSelected
状态或Selected
状态。您可以将以下动画添加到可视状态PointOverSelected
以实现该比例。
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="contentborderscale" Storyboard.TargetProperty="ScaleY" >
<DiscreteObjectKeyFrame KeyTime="0" Value="1.5" />
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="contentborderscale" Storyboard.TargetProperty="ScaleX">
<DiscreteObjectKeyFrame KeyTime="0" Value="1.5" />
</ObjectAnimationUsingKeyFrames>
我写了一篇关于选择的GridView
项目时,该项目的height
和width
将扩展到150%的完成演示。您可以下载演示here。
谢谢,我能够做到这一点使用视觉状态,我现在正面临另一个问题,当我缩放gridview项目(在我的情况下是一张图片),它与其他gridview项目重叠,我希望所选项目在gridview中的每一项的顶部,通过设置ZIndex以某种方式,我还没有想出任何想法? – chavakane
@chavakane。对不起,以后的回复。你解决了你的新问题吗?你还需要帮助吗? –
@ SunteenWu-MSFT我有一个类似的问题与项目(只有一些)重叠..你可以看看它吗?不知道我要去哪里错了在这里https://stackoverflow.com/questions/48130969/irregular-behavior-xaml-uwp-community-toolkit-scale-animation – Pratyay
- 1. 在gridview中选择项目
- 2. 如何在UWP中更新绑定项目源后更新GridView?
- 3. UWP:如何获得RightTapped GridView的项目
- 4. 在UWP项目
- 5. 在UWP中移动项目
- 6. Flex:如何将项目放在网上
- 7. 如何在android项目列表中选择一些项目时向上滚动?
- 8. ASP.NET:如何在Gridview中选择项目时在(弹出)窗口中显示FormView?
- 9. 在DataTemplate中UWP的ListView modifycontrols当项目被选中
- 10. UWP gridview项目选择风格
- 11. 如何在jComboBox中选择项目
- 12. 如何在Html.DropDownlListFor()中预选项目
- 13. 如何在gtk.IconView(Python)中选择项目
- 14. 如何确定点击项目在GridView
- 15. 如何在项目选项卡被点击时刷新JTabbedPane选项卡?
- 16. 在GridView中设置选定的项目
- 17. 在UWP中添加新项目时暂时在ItemsControl上滚动
- 18. 在GridView中引用项目
- 19. 如何在gridView中单击项目时获取X和Y值
- 20. 在拖放项目时滚动项目
- 21. 如何在项目
- 22. 如何在项目
- 23. 在新页面或选项卡中打开ASP.NET GridView项目 - 如何?
- 24. 如何使用jQuery.serialScroll将选定项目放在幻灯片中?
- 25. 如何从项目模板中的GridView
- 26. 如果项目不被视为Web项目,如何在Tomcat上运行WAR?
- 27. 在ViewPager中的项目上缩放中心
- 28. ASP.NET GridView:如何在鼠标上显示FormView上的项目?
- 29. 如何在asp.net中压缩选项卡
- 30. 如何在wpf中的listview项目中创建动态gridview
您可以在Style Template的VisualStateManager中添加一个Storyboard来在IsSelected状态下完成它。 –