ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

c# – 在Xamarin.Forms中没有交互性的叠加层

2019-07-05 18:15:29  阅读:316  来源: 互联网

标签:c xaml overlay xamarin-forms interaction


最近,Xamarin.Forms改变了具有Clear和Default背景的控件的行为.此PR:https://github.com/xamarin/Xamarin.Forms/pull/935中描述了这些更改

这个变化在我的两个应用程序中发生了相当大的变化. UWP和WPF中的默认XAML行为是,当背景清晰时(x:Null),视觉是点击,但如果它有一些孩子,你仍然可以与它们互动.这非常重要,尤其是对于经常需要地图控制的应用程序,然后在其上面布置一些控件.如果我将图层设置为InputTransparent,则用户无法以任何方式与图层中的任何控件进行交互,如果我没有设置它,那么我就无法与地图本身进行交互.

问题是我没有看到任何简单的解决方法,因为我不能在没有布局父级的情况下布局控件.如果我想将它们放在网格中,我需要一个网格.这将阻止地图.与任何其他布局相同.

我希望实现以下内容:

<CustomMapControl />
<Grid x:Name="ControlsGrid">
   <Grid.RowDefinitions>
      <RowDefinition Height="*" />
      <RowDefinition Height="*" />
   </Grid.RowDefinitions>
   <Button Grid.Row="1" Text="Zoom in" />
</Grid>
<AboluteLayout x:Name="PlaceMenuContainer" />

此代码现在不允许我与地图进行交互,因为网格会阻止它.如果我将GridTransparent =“True”添加到网格中,我将无法再与该按钮交互,因为不再向其分派触摸交互(请参阅VisualInputRenderer, line 52 – 64).另请注意,我可以在地图上方有多个图层,例如PlaceMenuContainer,它是上下文菜单项的容器,当用户点击地图上的某个位置时,该上下文菜单项会显示在地图上方.这意味着我不能轻易地为所有控件使用单个布局容器……

你有没有看到这种方法?

解决方法:

我收到了来自Microsoft Xamarin团队的E. Z. Hart的确认,目前正在查看此问题,并且有几位开发人员遇到了这个问题.要么很快就会实施新方法的解决方法,任何更新都会在相关的bug in Bugzilla上发布:-).

标签:c,xaml,overlay,xamarin-forms,interaction
来源: https://codeday.me/bug/20190705/1389818.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有