Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xaml 如何禁用ListView';s悬停和平铺效果?_Xaml_Listview_Windows 8_Windows Runtime_Winrt Xaml - Fatal编程技术网

Xaml 如何禁用ListView';s悬停和平铺效果?

Xaml 如何禁用ListView';s悬停和平铺效果?,xaml,listview,windows-8,windows-runtime,winrt-xaml,Xaml,Listview,Windows 8,Windows Runtime,Winrt Xaml,我想禁用平铺效果,这是ListView控件的一种推送效果和悬停背景色效果,我该怎么做 谢谢你看这个问题: 您还可以更改模板以删除任何视觉状态和装饰-转到设计器并右键单击您的列表视图/编辑其他模板/编辑生成的项目容器(ItemContainerStyle)/编辑副本…-这将提取您可以使用首选方法修改的模板。在谷歌搜索之后,我发现突出显示发生在ListViewItemPresenter中,结果是非常隐藏的。它位于ListViewItem的ControlTemplate内,ListViewItem是

我想禁用平铺效果,这是ListView控件的一种推送效果和悬停背景色效果,我该怎么做

谢谢你看这个问题:


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

在谷歌搜索之后,我发现突出显示发生在ListViewItemPresenter中,结果是非常隐藏的。它位于ListViewItem的ControlTemplate内,ListViewItem是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" />

...


来源:

遗憾的是,扩展样式不再由Blend生成(它只生成默认样式),但可以从msdn获得。是的,我认为当前的
ListViewItem
模板非常简单-我怀疑它实际上是在平台/渲染器级别渲染的,以提高性能,因此如果您想自定义它-您实际上是在使模板复杂化。是的,很遗憾,我还没有找到更好的方法来禁用所有的项目点击动画,同时仍然保留ScrollIntoView。但请记住,这将破坏控件的可访问性。。