我在Android中使用自定义LabelRenderer
作为我的Xamarin表单项目。
在此LabelRenderer
内部我使用Control.SetTextIsSelectable(true)
,以便人们可以复制/粘贴给定标签中的文字。 (此方法适用于Android内部TextView
)
这一切都有效,但是在ListView.ItemTemplate
(仅StackLayout
带有一些标签)中使用此内容时,ListView.SelectedItem
将不再有效。
要正确,如果您设法在ItemTemplate内部的标签边界之外进行挖掘,它将起作用。因此,标签会吃掉SelectedItem绑定的触摸事件,因为它需要查找点击选择以启用复制/粘贴功能:/
换句话说,如果标签在ListView
中以通用方式使用,我们如何禁用标签的触摸行为?
答案 0 :(得分:0)
尝试将标签的属性InputTransparent
设置为true。这样,触摸事件将在标签上被忽略并被其父级捕获。
UPDATE
如果InputTransparent
对您不起作用,请尝试从ListViewItemTappedAttached
开始
https://github.com/XAM-Consulting/FreshEssentials
页面中的示例:
yourList.SetBinding<IYourPageViewModel>(ListViewItemTappedAttached.CommandProperty, x => x.YourCommand);
并在您的视图模型中:
YourCommand = new Command<IYourCellViewModel>(item => yourMethod(item));