我是Xamarin的新手,但学得很快。我希望这是一个直截了当的问题。我知道我可以使用自定义渲染器为每个平台自定义Xamarin Forms控件,而且我也知道我可以使用具有依赖服务的0-param构造函数的本机控件。
我的问题是,如何在我的Xamarin Forms PCL应用程序中使用本机控件(特别是Android ImageView ......最终显然是WinPhone和iOS版本)?
一个非常简单的例子会有很长的路要走,因为我很难理解如何在平台特定的控件上定义一个可以设置缓冲,图像源等参数的接口。
感谢您的帮助!
答案 0 :(得分:2)
随着Xamarin Forms的最新更新,这是一项新增功能。 您可以在博客中了解更多相关信息 - Embedding Native Controls into Xamarin.Forms。
您也可以在Native Embedding - Adding Platform-Specific Controls to a Xamarin.Forms Layout
找到样本在Android上,以下代码示例演示了如何将TextView添加到StackLayout和ContentView:
var textView = new TextView (Forms.Context) { Text = originalText, TextSize = 14 };
stackLayout.Children.Add (textView);
contentView.Content = textView.ToView();
为此,您必须使用共享项目模板,而不是PCL。对于PCL,您必须使用自定义渲染。