簡體   English   中英

附加屬性或行為時,如何訪問xamarin表單元素后面的本機控件?

[英]When attaching a property or behavior, how can I access to native control behind xamarin forms elements?

每個Xamarin表單元素都有一個渲染器,每個渲染器背后都有一個本機控件。

每當我開發Attached屬性或行為時 ,我都可以訪問Xamarin表單元素,但是在此之后我無權訪問本機控件。

有什么方法可以訪問該本地控件?

注意:我說的是內置的Xamarin表單元素(例如Entry),而不是新的控件,元素和渲染。

提前致謝。

您應該創建一個自定義控件,例如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控件。

我認為本文將幫助您將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/how-to-add-xamarin-native-platform-effect-to-all-elements-9214cf6d7b8a

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM