開始使用 Xamarin.Forms.Platform.Avalonia


前言:

    幾年前研究 Xamarin.Forms 時,為了嘗試對Linux平台的支持,發現了 Avalonia, 可以把它看成一個WPF的跨平台實現,於是就參考了 Xamarin.Forms.Platform.WPF 的代碼, 寫了一個 Xamarin.Forms.Platform.AvaluoniaUI,由於那是 Avalonia 項目也剛剛創建,很多功能還不完善,Xamarin.Forms.Platform.AvaloniaUI 當時實現的功能也非常有限,而且還有很多BUG, 后來由於忙別的就沒怎么太關注過。今年春節,又趕上疫情,“全民閉關”,Avalonia 也趨於成熟,於是把代碼進行了大量重構,並且改名為:Xamarin.Forms.Platform.Avalonia

正文:

  1. 新建一個 Avalonia 項目, 可以閱讀后面的鏈接了解更多:http://avaloniaui.net/docs/quickstart/create-new-project.

  2. 你可以使用以下命令,在 NuGet 中找到並安裝 Xamarin.Forms.Platform.Avalonia:

Install-Package Xamarin.Forms.Platform.Avalonia
  1. 創建一個 Xamarin.Forms 應用, 可以閱讀后面的鏈接了解更多: at https://docs.microsoft.com/en-us/xamarin/get-started/first-app.
  2. 將新建的 Xamarin.Forms 應用項目,作為項目引用添加到新建的 Avalonia 項目中.
  3. 編輯 MainWindow.xaml.cs, 添加命名空間引用:
using Xamarin.Forms.Platform.Avalonia;
  1. 把 MainWindow 的基類改為 FormsApplicationPage, 同時添加 Forms.Init() 和 LoadApplication() 的方法調用,參見下面示例,代碼中的 'FormsGallery.App' 應該是你的 Xamarin.Forms 應用的App的類名:
    public class MainWindow : FormsApplicationPage
    {
        public MainWindow()
        {
            InitializeComponent();
#if DEBUG
            this.AttachDevTools();
#endif

            Xamarin.Forms.Forms.Init();
            LoadApplication(new FormsGallery.App());
        }

        private void InitializeComponent()
        {
            AvaloniaXamlLoader.Load(this);
        }
    }

然后運行新建的 Avalonia 項目,你就可以看到你的 Xamarin.Forms 應用跑在 Avalonia 平台上了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM