【问题标题】:Xamarin.Forms How can I disable hover highlight effect on listviewXamarin.Forms 如何禁用列表视图上的悬停突出显示效果
【发布时间】:2018-10-18 03:43:30
【问题描述】:

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

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

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 不幸的是,这不起作用。 ((ListView)sender).SelectedItem = null;单击项目时禁用焦点颜色。我尝试禁用 UWP 中的悬停颜色。我已经设法在您单击的项目上禁用颜色突出显示。
    【解决方案2】:

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

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

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

    【讨论】:

    • ListView 上似乎不存在这些属性
    猜你喜欢
    • 2014-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2019-06-09
    • 1970-01-01
    相关资源
    最近更新 更多