有趣的事实:myListView.SelectedItem.GetType() == typeof(object)
。因此,您无法通过监听ItemTapped
来完成此操作,因为没有Background属性可以设置。您可以做的是:
myListView.ItemTapped += async (object sender, ItemTappedEventArgs e) =>
{
myListView.SelectedItem = null;
};
至少不会将所选项目的背景设置为某种随机颜色(在我的情况下为亮橙色)。
但是如何选择所选项目的背景颜色。如果您用谷歌搜索这个问题,您将在2014-2016年看到大量答案,这些答案通常涉及自定义渲染器和大量代码。对我来说,这不是答案。我不会添加很多代码来使其正常工作。我宁愿它什么也不做。
答案 0 :(得分:2)
对于Android,您可以在资源xml文件中进行设置,对于iOS,则需要一个CustomRenderer(如前所述,这不是一个选项)。有一个功能要求xamarin将其添加到Forms。我们等一下。
<resources>
<style name="MyTheme" parent="android:style/Theme.Material.Light.DarkActionBar">
<item name="android:colorActivatedHighlight">@color/YourColor</item>
<item name="android:colorPressedHighlight">@color/YourColor</item>
<item name="android:colorLongPressedHighlight">@color/YourColor</item>
<item name="android:colorFocusedHighlight">@color/YourColor</item>
<item name="android:activatedBackgroundIndicator">@color/YourColor</item>
</style>
<color name="YourColor">#96BCE3</color>
</resources>
答案 1 :(得分:0)
为此,您必须为ListView创建CustomRenderer。 要么 您也可以使用 Sflistview
获得“ SelectionBackgroundColor”属性的地方