中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

dotnet在 UOS 國產系統上如何使用Xamarin Forms創建xaml界面的GTK應用

發布時間:2022-01-05 17:55:23 來源:億速云 閱讀:125 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關dotnet在 UOS 國產系統上如何使用Xamarin Forms創建xaml界面的GTK應用,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

下面告訴大家如何在 UOS 國產系統上,通過 Xamarin.Forms 使用 XAML 寫界面邏輯,構建出 GTK 應用

小編將使用特別底層的方法告訴大家如何一步步創建,而不是告訴大家如何在 IDE 上進行快速的創建。因此更適合用來告訴大家一些基礎的內容,而不適合用來規模化創建上

在開始之前,請確定你安裝好了環境,如何安裝請看下面博客

  • dotnet 在 UOS 國產系統上安裝 MonoDevelop 開發工具

  • dotnet 在 UOS 國產系統上使用 MonoDevelop 創建 GTK 全平臺帶界面應用

  • dotnet 在 UOS 國產系統上使用 MonoDevelop 進行拖控件開發 GTK 應用

如 dotnet 在 UOS 國產系統上使用 MonoDevelop 創建 GTK 全平臺帶界面應用 所說,創建一個空白的 GTK# 應用

dotnet在 UOS 國產系統上如何使用Xamarin Forms創建xaml界面的GTK應用

dotnet在 UOS 國產系統上如何使用Xamarin Forms創建xaml界面的GTK應用

接著創建一個控制臺項目,假定這個項目是 A 項目,這個控制臺項目將會添加 Xamarin.Foms 負載,然后將構建出基于 Xamarin.Forms 的界面 dll 文件,接著將由 GTK 項目,假定命名為 B 項目,作為最終原生控件支持,被 Xamarin.Forms 的界面 dll 所映射,因此剛才新建的 GTK 項目就是最終入口項目,應用程序由他啟動

dotnet在 UOS 國產系統上如何使用Xamarin Forms創建xaml界面的GTK應用

修改 csproj 文件為下面內容

<Project Sdk="Microsoft.NET.Sdk">

 <PropertyGroup>
   <TargetFramework>netstandard2.0</TargetFramework>
   <ProduceReferenceAssembly>true</ProduceReferenceAssembly>
 </PropertyGroup>

 <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
   <DebugType>portable</DebugType>
   <DebugSymbols>true</DebugSymbols>
 </PropertyGroup>

 <ItemGroup>
   <PackageReference Include="Xamarin.Forms">    <PackageReference Include="Xamarin.Essentials" Version="1.5.3.2" />
 </ItemGroup>
</Project>

dotnet在 UOS 國產系統上如何使用Xamarin Forms創建xaml界面的GTK應用

有小伙伴說,在 Windows 下,用 VS 新建一個 Xamarin.Forms 項目之后,再拷貝到 UOS 上,也是可以的,但是有一點需要注意的是不能拷貝 bin 和  obj 文件夾過去,原因是在 obj 文件夾存放了很多依賴本機電腦的文件夾絕對路徑的文件,如 nuget 還原里面的 project.assests.json 文件將會包含 fallback 路徑,如果拷貝到 Linux 下的系統,也許會看到如下提示

Error MSB4018 The "ResolvePackageAssets">

或者

Error MSB4018 The "ResolvePackageAssets" task failed unexpectedly. NuGet.Packaging.Core.PackagingException: Unable to find fallback package folder 'C:\Program Files (x86)\Xamarin\NuGet\'

如果忘了這一點復制了 obj 文件夾,可以在 UOS 這個 Linux 系統下刪除 obj 文件夾,解決 Xamarin Forms 在 Linux 系統構建失敗的問題

先忽略從Windows等系統創建好了 Xamarin Forms 的方法,咱就在 UOS 上一步步創建

刪除 A 項目,也就是安裝了 Xamarin Forms 的控制臺項目,的 Program.cs 文件

然后選擇新建一個空 xml 文件,創建完成之后修改命名為 App.xaml 文件,同時創建一個空類叫 App.xaml.cs 文件

這兩個文件將表示 Xamarin Forms 項目的起始,也就是在 Xamarin 層的啟動入口。在使用 Xamarin.Forms 的 GTK 應用,有兩層入口,第一層是本機程序的入口,也就是 B 項目的 Program 文件的 Main 方法入口,第二層就是 Xamarin.Forms 的 App 入口。應用程序啟動的時候,先進入第一層入口,在第一層入口初始化本機相關的進程,然后進入第二層入口,在第二層入口初始化 Xamarin 應用

在 App.xaml 添加下面代碼,下面代碼的 x:Class="WokemhelurnawgelrallKearlallidallla.App" 其實 WokemhelurnawgelrallKearlallidallla 就是項目名

<?xml version="1.0" encoding="utf-8" ?>
<Application xmlns="http://xamarin.com/schemas/2014/forms"
            xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
            xmlns:d="http://xamarin.com/schemas/2014/forms/design"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            mc:Ignorable="d"
            x:Class="WokemhelurnawgelrallKearlallidallla.App">
   <Application.Resources>

   </Application.Resources>
</Application>

其實上面的 App.xaml 是空代碼,有意義的代碼放在 App.xaml.cs 請看代碼

using Xamarin.Forms;

namespace WokemhelurnawgelrallKearlallidallla
{
   public partial class App : Application
   {
       public App()
       {
           InitializeComponent();

           MainPage = new MainPage();
       }
   }
}

上面代碼的核心就是在構造方法調用 InitializeComponent 方法,然后設置主頁面

接著咱需要新建一個主界面,新建 MainPage 的 xml 文件,然后修改命名為 MainPage.xaml 文件

然后填寫界面代碼

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
            xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
            xmlns:d="http://xamarin.com/schemas/2014/forms/design"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            mc:Ignorable="d"
            x:Class="WokemhelurnawgelrallKearlallidallla.MainPage">

   <StackLayout>
       <Label Text="Welcome to Xamarin.Forms!"
          HorizontalOptions="Center"
          VerticalOptions="CenterAndExpand" />
   </StackLayout>

</ContentPage>

還請小伙伴先不要改多內容哈

接著新建 MainPage.xaml.cs 文件,添加下面代碼

using System.ComponentModel;
using Xamarin.Forms;

namespace WokemhelurnawgelrallKearlallidallla
{
   [DesignTimeVisible(false)]
   public partial class MainPage : ContentPage
   {
       public MainPage()
       {
           InitializeComponent();
       }
   }
}

現在新建了 App 應用和 MainPage 一個界面,但是還需要一個 AssemblyInfo.cs 文件,設置程序集特性

using Xamarin.Forms.Xaml;

[assembly: XamlCompilation(XamlCompilationOptions.Compile)]

這樣一個簡單的 Xamarin Forms 項目就完成了,設置 GTK 項目,也就是 B 項目,引用 Xamarin Forms 項目,也就是 A 項目

dotnet在 UOS 國產系統上如何使用Xamarin Forms創建xaml界面的GTK應用

但是此時將會發現構建不通過,因為 B 項目,也就是 GTK 項目沒有引用足夠的 NuGet 包。給 B 項目添加以下 NuGet 庫

  • OpenTK

  • Xamarin.Forms

  • Xamarin.Forms.Platform.GTK

接著打開 B 項目的 Program.cs 文件,在 Main 方法添加如下代碼

            Gtk.Application.Init();
           Forms.Init();

           var app = new App();
           var window = new FormsWindow();
           window.LoadApplication(app);
           window.SetApplicationTitle("lindexi");
           window.Show();
           Gtk.Application.Run();

注意在編輯器里面添加 using 引用

然后刪除除了 Program.cs 的其他 cs 代碼文件

此時 B 項目,構建之后可以看到如下界面

dotnet在 UOS 國產系統上如何使用Xamarin Forms創建xaml界面的GTK應用

關于dotnet在 UOS 國產系統上如何使用Xamarin Forms創建xaml界面的GTK應用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

攀枝花市| 繁昌县| 灌南县| 铁岭县| 壤塘县| 海原县| 垣曲县| 台北县| 红安县| 和静县| 安阳市| 聂拉木县| 东光县| 即墨市| 龙州县| 喜德县| 华池县| 石柱| 拉萨市| 永靖县| 沧源| 白玉县| 会东县| 绵竹市| 阜阳市| 乌兰浩特市| 竹溪县| 福建省| 久治县| 青冈县| 霸州市| 应城市| 嫩江县| 临武县| 崇文区| 鹤壁市| 易门县| 宁安市| 孝感市| 咸宁市| 琼海市|