来自this链接。
我想要的是,不允许输入字段接收用户的输入。InputTransparent=true
在iOS上运行良好,但在Android上却无法运行,它仍然允许用户提供输入。
我尝试了IsEnabled=false
,但这改变了我的Entry字段的外观,但我不希望这样。
这是某种错误吗?
最佳答案
InputTransparent在Android上不起作用。我为StackLayout创建了简单的渲染器:
在PCL项目中:
public class StackLayoutAdd :StackLayout
{
}
在Android项目中:
[assembly: ExportRenderer(typeof(StackLayoutAdd), typeof(StackLayoutAddCustom))]
.....
public class StackLayoutAddCustom : VisualElementRenderer<StackLayout>
{
public override bool DispatchTouchEvent(MotionEvent e)
{
base.DispatchTouchEvent(e);
return !Element.InputTransparent;
}
}
我在xaml中使用它:
<StackLayoutAddCustom InputTransparent={Binding IsReadOnly}>
<Editor />
....
</StackLayoutAddCustom>
这是 child 控制的工作。
关于xamarin - InputTransparent = true在Xamarin Forms Android中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38122024/