附加属性或行为时,如何访问xamarin表单元素后面的本机控件?

时间:2015-10-26 11:33:25

标签: c# xamarin xamarin.forms

每个Xamarin表单元素,都有一个渲染,每个渲染器都有一个本机控件。

每当我开发附加属性或行为时,我都可以访问Xamarin表单元素,但我无法访问本机控制。

有没有办法访问该原生控件?

注意:我正在谈论内置的Xamarin表单元素,例如Entry,这不是关于新的控件,元素和渲染。

提前致谢。

3 个答案:

答案 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