【问题标题】:How does Xamarin Forms Previewer Work?Xamarin 表单预览器如何工作?
【发布时间】:2017-10-09 23:33:45
【问题描述】:

最近为 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 上的工作?

谢谢

【问题讨论】:

    标签: xamarin xamarin.forms


    【解决方案1】:

    最好的方法是阅读源代码。不幸的是,在免费访问 (GitHub) 中没有 Previewer 的源代码。

    【讨论】:

      【解决方案2】:

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

      它的工作原理与您预期的一样:

      当 IDE 检测到文件更改时,预览器会要求 Xamarin.Forms 渲染 Page,但预览器不使用捆绑在程序集中的 XAML 文件(需要重新构建),而是提供自己的 @987654326 @ 细绳。它通过设置XamlFileProvider (https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Xaml/XamlLoader.cs#L42) 来实现。

      当 Xamarin.Forms 加载页面时,它会检查该加载器并改用该文件:https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Xaml/XamlLoader.cs#L138

      您可以随意使用这些信息来更好地了解它的工作原理,但不要考虑构建使用该机制的东西。这些是内部 API,如有更改,恕不另行通知。

      【讨论】:

        猜你喜欢
        • 2021-06-12
        • 2021-01-22
        • 2016-11-11
        • 2017-08-23
        • 2017-08-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多