Xamarin.Forms ListView 更改 ContextMenu 上的 Cell 打开

Xamarin.Forms ListView change Cell on ContextMenu open

我用Xamarin.Forms定义了一个ListViewListViewViewCell 内部定义了一些 ContextAction。根据平台的不同,这些上下文操作随后会呈现给用户。在 Android 中,这是通过长按特定项目触发的。遗憾的是,此项目不会(正确)突出显示,如屏幕截图所示(我长按 第三项,遗憾的是我还不能嵌入图像)。

有没有办法在上下文菜单打开时修改单元格? 专门寻求 Android 的解决方案,但也欢迎提供一般性答案。最终目标是改进突出显示,例如通过更改单元格的背景颜色。当按下一个 ContextAction 时,修改单元格不是我要找的。

我浏览了 Xamarin.Forms 的源代码并考虑以某种方式从例如继承。 ViewCell class,但找不到在长按某个项目时会触发/调用的事件或命令。我已经建立了一个简单的存储库来说明行为:GitHub repository

最重要的代码片段

无需自定义渲染器 - 您只需将以下标签添加到 styles.xml(位置:Android 项目 > 资源 > 值 > styles.xml )

<style name="MyTheme" parent="MyTheme.Base">
  <item name="android:colorLongPressedHighlight">@color/ListViewHighlighted</item>
</style>
<color name="ListViewHighlighted">#A8A8A8</color>

可在此处找到更多详细信息 post