每个Xamarin表单元素,都有一个渲染,每个渲染器都有一个本机控件。
每当我开发附加属性或行为时,我都可以访问Xamarin表单元素,但我无法访问本机控制。
有没有办法访问该原生控件?
注意:我正在谈论内置的Xamarin表单元素,例如Entry,这不是关于新的控件,元素和渲染。
提前致谢。
答案 0 :(得分:1)
您应该创建一个自定义控件,如YourEntry,它继承了内置Entry,并使用自定义渲染器继承EntryRenderer。在任何重写的方法中你可以调用this.Control和this.Element这样:
var entry = (YourEntry)this.Element;
this.Control.Font = UIFont.FromName(entry.FontFamily, (float)entry.FontSize);
this.Control是你的本机控件,this.Element是你的Xamarin.Forms控件。
答案 1 :(得分:1)
我认为本文将帮助您将Xamarin.Forms
视图转换为Native
视图。
http://www.michaelridland.com/xamarin/creating-native-view-xamarin-forms-viewpage/
答案 2 :(得分:1)
使用xamarin平台效果,附加属性和全局样式,您可以访问iOS中Entry标签后面的所有UIKit控件作为示例。您可以将一些代码应用于任何平台中xamarin表单组件后面的任何本机控件。
https://medium.com/@ysmoradi/how-to-add-xamarin-native-platform-effect-to-all-elements-9214cf6d7b8a