我正在处理一个带有Xamarin.Forms的ListView项目,每个项目都有一个白色背景的框架。我的问题是,我最近注意到,当我点击项目,它使框架的背景白色。它仍然显示所有其他对象,但框架变得透明。
这个框架很简单
<Frame CornerRadius="10" Padding="0" Margin="10, 10, 10, 5" BackgroundColor="White">...</Frame>发布于 2018-04-17 21:47:55
推广上述评论.对真实答案的回答.为了可读性起见:
您所看到的行为是特定于iOS的。您可以通过使用效果覆盖默认行为来解决这个问题,如下所示:
[assembly: ResolutionGroupName("MyEffects")]
[assembly: ExportEffect(typeof(ListViewHighlightEffect), nameof(ListViewHighlightEffect))]
namespace MyProject.iOS.Effects
{
public class ListViewHighlightEffect : PlatformEffect
{
protected override void OnAttached()
{
var listView = (UIKit.UITableView)Control;
listView.AllowsSelection = false;
}
protected override void OnDetached()
{
}
}
}然后,您可以将其应用于视图代码背后:
MyListView.Effects.Add(Effect.Resolve($"MyEffects.ListViewHighlightEffect"));我在完整的解决方案这里上做了一个简短的补充。
或者,如果您希望保持选择项的能力,一个可能的解决方法是在代码后面添加一个ItemTapped处理程序,然后将其空出。
MyListView.SelectedItem = null;https://stackoverflow.com/questions/49850902
复制相似问题