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

本文关键字:表单 xamarin 访问 元素 控件 本机 属性 何访问 | 更新日期: 2023-09-27 18:19:25

每个Xamarin都形成元素,有一个渲染器,每个渲染器后面都有一个本地控件。

每当我开发Attached属性或行为时,我都可以访问Xamarin-forms元素,但我无法访问其背后的本机控制。

有什么方法可以访问本机控件吗?

注意:我说的是内置的Xamarin表单元素,比如Entry,这与新的控件、元素和渲染无关。

提前谢谢。

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

您应该创建一个自定义控件,如继承内置Entry的YourEntry,并使用继承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控件。

我认为本文将帮助您将Xamarin.Forms视图转换为Native视图。http://www.michaelridland.com/xamarin/creating-native-view-xamarin-forms-viewpage/

例如,使用xamarin平台效果、附加属性和全局样式,您可以访问iOS中Entry标签后面的所有UIKit控件。您可以将一些代码应用于任何平台中xamarin表单组件背后的任何本机控件。

https://medium.com/@ysmoradi/如何访问地址-本地平台-对所有元素的影响-9214cf6d7b8a