5

我想禁用 ListView 控件的某种推送效果和悬停背景颜色效果的 Tile 效果,我该怎么做?

谢谢

4

2 回答 2

6

经过一番谷歌搜索后,我发现突出显示发生在 ListViewItemPresenter 中,结果证明它非常隐藏。它位于 ListViewItem 的 ControlTemplate 内,它是 ListView 的 ItemContainer。我发现禁用效果的最简单方法是简单地覆盖此 ControlTemplate:

<ListView>
<ListView.ItemContainerStyle>
    <Style TargetType="ListViewItem">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate>
                    <ContentPresenter/>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ListView.ItemContainerStyle>
<TextBlock Text="List Item" />
...
<TextBlock Text="List Item" />

来源:https ://blog.jonstodle.com/uwp-listview-without-highlighting-and-stuff/

于 2016-06-18T12:41:00.410 回答
4

看这个问题: Disable cross-slide selection for a listview

您还可以更改模板以删除任何视觉状态和装饰 - 转到设计器并右键单击您的 ListView/编辑其他模板/编辑生成的项目容器 (ItemContainerStyle)/编辑副本... - 这将提取模板您可以使用您喜欢的方法进行修改。

于 2012-08-03T07:57:40.253 回答