Xamarin Forms Previewer如何工作?

时间:2017-05-11 05:41:19

标签: xamarin xamarin.forms

最近为Android和iOS Xamarin Forms应用程序引入了Xamarin Forms Previewer。(https://developer.xamarin.com/guides/xamarin-forms/xaml/xaml-previewer/

想知道Xamarin Forms Previewer如何在内部工作。 我的意思是当在xaml文件中完成更改时,如何将本机控件呈现给预览器。

我可以从github(https://github.com/xamarin/Xamarin.Forms)找到Xamarin Forms源代码。

但是Xamarin Forms Previewer源代码开源的来源是否也可以参考,以便更好地理解Xamarin Forms Previewer的工作原理?

由于

2 个答案:

答案 0 :(得分:3)

预览器的源代码不在Xamarin.Forms存储库中。

它的工作方式正如您所期望的那样:

当IDE检测到文件更改时,预览器会要求Xamarin.Forms呈现Page,但不是使用程序集中捆绑的XAML文件(需要重建),预览器提供了自己的XAML字符串。它通过设置XamlFileProviderhttps://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Xaml/XamlLoader.cs#L42)来实现。

当Xamarin.Forms加载一个Page时,它会检查该Loader并改为使用该文件:https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Xaml/XamlLoader.cs#L138

随意使用此信息以更好地了解其工作原理,但不要考虑构建使用该机制的内容。这些是内部API,然后可以更改,恕不另行通知。

答案 1 :(得分:0)

执行此操作的最佳方法是阅读源代码。不幸的是,免费访问(GitHub)的预览器没有源代码。