![](/img/trans.png)
[英]How can I add a control to a GridView when an item is selected such that the control is on the row below the selected item and spans all the columns?
[英]In UWP, how can I scale an item on GridView when item is selected?
我正在使用UWP构建XBOX ONE应用。 我有一个GridView,我需要缩放所选项目的宽度和高度。 任何人都有一个如何执行该行为的示例?
在UWP中,选择项目后如何在GridView上缩放项目?
首先,关于如何缩放项目,可以使用ScaleTransform类。 您可以在二维xy坐标系中缩放对象。 为了满足您的要求,您可以为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样式和模板来更改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%。 您可以在此处下载演示。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.