C# 在Windows Phone上禁用ListView中某些项目的倾斜效果

C# 在Windows Phone上禁用ListView中某些项目的倾斜效果,c#,xaml,listview,windows-phone-8.1,C#,Xaml,Listview,Windows Phone 8.1,我有一个Windows Phone 8.1应用程序,在列表视图中显示项目列表。我设定 IsItemClickEnabled至True 列表视图中有两种类型的项,即“活动”项和“禁用”项。这两种类型的渲染方式不同,我使用ItemTemplateSelector选择正确的模板 我希望“活动”项可以通过标准倾斜效果(按下动画)单击,“禁用”项不生成倾斜效果(我不关心触发的单击,我可以处理) 我发现我可以在编辑ItemContainerStyle模板时整体禁用ListView上的倾斜效果。但是如何仅对列

我有一个Windows Phone 8.1应用程序,在
列表视图中显示项目列表。我设定
IsItemClickEnabled
True

列表视图中有两种类型的项,即“活动”项和“禁用”项。这两种类型的渲染方式不同,我使用
ItemTemplateSelector
选择正确的模板

我希望“活动”项可以通过标准倾斜效果(按下动画)单击,“禁用”项不生成倾斜效果(我不关心触发的单击,我可以处理)


我发现我可以在编辑
ItemContainerStyle
模板时整体禁用
ListView
上的倾斜效果。但是如何仅对
列表视图中的某些项目禁用它?

您可以在ItemContainerStyle中禁用倾斜,并为单个项目模板启用倾斜。。。例如,通过具有倾斜效果的自定义控件。

解决方案是使用
ItemContainerStyleSelector

  • 定义具有两种样式的自定义
    样式选择器
    ,以及在这两种样式之间切换的逻辑

  • 将其用作
    列表视图上的
    ItemContainerStyleSelector

  • 确保从
    列表视图
    中删除任何显式
    ItemContainerStyle
    。如果定义一个样式,它将被视为高级样式,而不是默认样式,
    StyleSelector
    将不起作用


我使用MS Blend导出模板,看看像这样的例子里面有什么。