Xamarin.Forms如何在listview

时间:2018-05-08 08:37:14

标签: c# xaml listview xamarin.forms custom-renderer

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

在这个列表视图中,我使用datatemplate在列表视图中显示我自己制作的卡片。使用我的自定义卡片的listview正确呈现,但是有一件事情没有按预期进行。

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

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

我已经尝试在App.xaml中创建一个控件模板,但我无法让它工作。我已经尝试制作自定义渲染器,但我不知道如何做到这一点。

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

如何使用Xamarin.Forms在listview / FlowListView中禁用悬停高亮颜色效果?

2 个答案:

答案 0 :(得分:0)

我不知道它是否有效。但是你尝试过禁用itemSelection:

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

答案 1 :(得分:0)

我通过将'Include the header (no .Skip()) Dim StringColumns As List(Of String()) = Lines.Select(Function(line) Split(line, Delimiter, ColsExpected, CompareMethod.Text)).ToList() 'Insert the columns with the .csv header columns description DataGridView1.Columns.AddRange(Enumerable.Range(0, ColsExpected). Select(Function(col, idx) New DataGridViewTextBoxColumn() With { .HeaderText = StringColumns(0)(idx) }).ToArray()) 'Remove the header line... StringColumns.RemoveAt(0) StringColumns.Select(Function(row) DataGridView1.Rows.Add(row)).ToList() FlowTappedBackgroundColor设置为相同颜色来解决此问题。

注意高光颜色仍然存在,但您无法注意到,因为高光颜色与背景颜色相同。

FlowRowBackgroundColor