首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >框架在龙头上是透明的

框架在龙头上是透明的
EN

Stack Overflow用户
提问于 2018-04-16 06:33:49
回答 1查看 360关注 0票数 1

我正在处理一个带有Xamarin.Forms的ListView项目,每个项目都有一个白色背景的框架。我的问题是,我最近注意到,当我点击项目,它使框架的背景白色。它仍然显示所有其他对象,但框架变得透明。

这个框架很简单

代码语言:javascript
复制
<Frame CornerRadius="10" Padding="0" Margin="10, 10, 10, 5" BackgroundColor="White">...</Frame>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-17 21:47:55

推广上述评论.对真实答案的回答.为了可读性起见:

您所看到的行为是特定于iOS的。您可以通过使用效果覆盖默认行为来解决这个问题,如下所示:

代码语言:javascript
复制
[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()
        {

        }
    }
}

然后,您可以将其应用于视图代码背后:

代码语言:javascript
复制
MyListView.Effects.Add(Effect.Resolve($"MyEffects.ListViewHighlightEffect"));

我在完整的解决方案这里上做了一个简短的补充。

或者,如果您希望保持选择项的能力,一个可能的解决方法是在代码后面添加一个ItemTapped处理程序,然后将其空出。

代码语言:javascript
复制
MyListView.SelectedItem = null;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49850902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档