uwp - 如何更改 GridViewItem UWP 的样式?
问题描述
我正在开发一个 UWP 应用程序,它使用图像的 GridView,这些图像具有与用户点击相关联的行为。
主文件
<Page.Resources>
<DataTemplate x:Key="DemoItemTemplate" x:DataType="vm:DemoImages">
<Grid>
<Image
Source="{x:Bind ImagePath}"/>
<interactivity:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Tapped">
<core:InvokeCommandAction
Command="{x:Bind DoSomeAction}"/>
</core:EventTriggerBehavior>
</interactivity:Interaction.Behavior>
</Grid>
</DataTemplate>
</UserControl.Resources>
</Page.Resources>
<GridView
ItemsSource="{x:Bind ViewModel.ObservableCollectionOfItems}" //List of images
SelectionMode="Single"
IsItemClickEnabled="false"
ItemTemplate="{StaticResource DemoItemTemplate}"> //defining different images
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel
Orientation="Horizontal"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
<GridView.ItemContainerStyle>
<Style TargetType="GridViewItemPresenter">
<Setter Property="SelectedPointerOverBackground" Value="Green"/> // tried different properties here
</Style>
</GridView.ItemContainerStyle>
</GridView>
使用此代码,当我单击我的项目时,我得到一个具有上升颜色的矩形。如何修改模板以便没有这个矩形?我尝试操作 ItemContainerStyle 但没有成功。
解决方案
使用此代码,当我单击我的项目时,我得到一个具有上升颜色的矩形。
您需要将SelectionMode属性设置None
为禁用 a 的项目选择GridView
:
<GridView SelectionMode="None" ... />
您还可以修改GridViewItem
样式以查找BorderRectangle
并设置StrokeThickness
为 0,以便在选择项目时隐藏矩形。
推荐阅读
- hbase - 如何在 Python 中使用 Thrift 更改 Hbase 中的表
- ruby-on-rails - Rails belongs_to/has_many 与外部模型
- amazon-web-services - 如何使用亚马逊证书在域路由 53 上获取 https
- typescript - 打字稿装饰器覆盖属性
- node.js - AWS ElasticBeanstalk Nginx 速率限制不适用于 Nodejs 应用程序
- javascript - 隐藏 ember 咆哮通知时删除 div
- angular - Angular 5外部javascript文件不起作用
- oracle - Oracle 报告饼图未在 Windows Server 2012 上以 PDF 格式显示
- javafx - 与 JavaFX GUI 事件处理和更新有关的问题
- rust - 一次不能多次借用 `*self` 作为 mutable