Xamarin.Forms 如何禁用列表视图上的悬停高亮效果

Xamarin.Forms How can I disable hover highlight effect on listview

我正在开发一个使用 Listview 的 Xamarin.Forms 项目。

在这个列表视图中,我使用了一个数据模板来在列表视图中显示我自己制作的卡片。带有我定制卡片的列表视图可以正确呈现,但是有一件事没有按预期进行。

在 UWP 应用程序中,当我将鼠标悬停在列表视图中的某个项目上时,我的卡片上会出现悬停突出显示颜色。我想为应用程序中的所有列表视图完全禁用悬停效果

我知道这是 UWP 应用程序中的标准行为,但我想完全禁用它。

我已经尝试在 App.xaml 中制作一个控件模板,但我无法让它工作。我已经想制作一个自定义渲染器,但我不知道该怎么做。

我还使用自定义控件(DLToolkit 的 FlowListView),它也使用悬停效果,就像列表视图一样。

如何使用 Xamarin.Forms 在 listview/FlowListView 中禁用悬停突出显示颜色效果?

不知道行不行。但是您是否尝试过禁用 itemSelection:

MyListView.ItemSelected += (sender, e) => {
     ((ListView)sender).SelectedItem = null;
};

我通过将 FlowTappedBackgroundColorFlowRowBackgroundColor 设置为相同的颜色解决了这个问题。

请注意高亮颜色仍然存在,但您不会注意到,因为高亮颜色与背景颜色相同。

lstFlowList.FlowTappedBackgroundColor = Color.White;
lstFlowList.FlowRowBackgroundColor = Color.White;