Bagikan melalui


Penyiapan Platform GTK#

Xamarin.Forms sekarang memiliki dukungan pratinjau untuk aplikasi GTK#. GTK# adalah toolkit antarmuka pengguna grafis yang menautkan toolkit GTK+ dan berbagai pustaka GNOME, memungkinkan pengembangan aplikasi grafis GNOME yang sepenuhnya asli menggunakan Mono dan .NET. Artikel ini menunjukkan cara menambahkan proyek GTK# ke Xamarin.Forms solusi.

Penting

Xamarin.Forms dukungan untuk GTK# disediakan oleh komunitas. Untuk informasi selengkapnya, lihat Xamarin.Forms Dukungan Platform.

Sebelum memulai, buat solusi baru Xamarin.Forms , atau gunakan solusi yang sudah ada Xamarin.Forms .

Catatan

Meskipun artikel ini berfokus pada penambahan aplikasi GTK# ke Xamarin.Forms solusi di VS2017 dan Visual Studio untuk Mac, artikel ini juga dapat dilakukan di MonoDevelop untuk Linux.

Menambahkan Aplikasi GTK#

GTK# untuk macOS dan Linux diinstal sebagai bagian dari Mono. GTK# untuk .NET dapat diinstal pada Windows dengan GTK# Installer.

Ikuti instruksi berikut untuk menambahkan aplikasi GTK# yang akan berjalan di desktop Windows:

  1. Di Visual Studio 2019, klik kanan pada nama solusi di Penjelajah Solusi dan pilih Tambahkan > Proyek Baru....

  2. Di jendela Proyek Baru, di sebelah kiri pilih Visual C# dan Windows Classic Desktop. Dalam daftar jenis proyek, pilih Pustaka Kelas (.NET Framework), dan pastikan bahwa drop-down Framework diatur ke minimal .NET Framework 4.7.

  3. Ketik nama untuk proyek dengan ekstensi GTK , misalnya GameOfLife.GTK. Klik tombol Telusuri , pilih folder yang berisi proyek platform lain, dan tekan Pilih Folder. Ini akan menempatkan proyek GTK dalam direktori yang sama dengan proyek lain dalam solusi.

    Menambahkan proyek GTK baru

    Tekan tombol OK untuk membuat proyek.

  4. Di Penjelajah Solusi, klik kanan proyek GTK baru dan pilih Kelola Paket NuGet. Pilih tab Telusuri , dan cari Xamarin.Forms 3.0 atau lebih tinggi.

    Pilih Xamarin.Forms paket NuGet

    Pilih paket dan klik tombol Instal .

  5. Sekarang cari Xamarin.Forms. Paket Platform.GTK 3.0 atau yang lebih tinggi.

    Xamarin.FormsPilih . Paket Platform.GTK NuGet

    Pilih paket dan klik tombol Instal .

  6. Di Penjelajah Solusi, klik kanan nama solusi dan pilih Kelola Paket NuGet untuk Solusi. Pilih tab Perbarui dan Xamarin.Forms paket. Pilih semua proyek dan perbarui ke versi yang sama seperti yang Xamarin.Forms digunakan oleh proyek GTK.

  7. Di Penjelajah Solusi, klik kanan Referensi dalam proyek GTK. Dalam dialog Manajer Referensi, pilih Proyek di sebelah kiri, dan centang kotak centang yang berdekatan dengan proyek .NET Standard atau Shared:

    Mereferensikan proyek bersama

  8. Dalam dialog Manajer Referensi, tekan tombol Telusuri dan telusuri ke folder C:\Program Files (x86)\GtkSharp\2.12\lib dan pilih file atk-sharp.dll, gdk-sharp.dll, glade-sharp.dll, glib-sharp.dll, gtk-dotnet.dll, gtk-sharp.dll.

    Mereferensikan pustaka GTK#

    Tekan tombol OK untuk menambahkan referensi.

  9. Dalam proyek GTK, ganti nama Class1.cs menjadi Program.cs.

  10. Dalam proyek GTK, edit file Program.cs sehingga menyerupan kode berikut:

    using System;
    using Xamarin.Forms;
    using Xamarin.Forms.Platform.GTK;
    
    namespace GameOfLife.GTK
    {
        class MainClass
        {
            [STAThread]
            public static void Main(string[] args)
            {
                Gtk.Application.Init();
                Forms.Init();
    
                var app = new App();
                var window = new FormsWindow();
                window.LoadApplication(app);
                window.SetApplicationTitle("Game of Life");
                window.Show();
    
                Gtk.Application.Run();
            }
        }
    }
    

    Kode ini menginisialisasi GTK# dan Xamarin.Forms, membuat jendela aplikasi, dan menjalankan aplikasi.

  11. Di Penjelajah Solusi, klik kanan proyek GTK dan pilih Properti.

  12. Di jendela Properti , pilih tab Aplikasi dan ubah drop-down Jenis output ke Aplikasi Windows.

    Mengubah jenis output proyek

  13. Di Penjelajah Solusi, klik kanan proyek GTK dan pilih Atur sebagai Proyek Startup. Tekan F5 untuk menjalankan program dengan debugger Visual Studio di desktop Windows:

    GTK# Game of Life

Langkah berikutnya

Spesifikasi Platform

Anda dapat menentukan platform apa yang dijalankan aplikasi Anda Xamarin.Forms dari XAML atau kode. Ini memungkinkan Anda mengubah karakteristik program saat berjalan di GTK#. Dalam kode, bandingkan nilai Device.RuntimePlatform dengan konstanta (yang sama dengan Device.GTK string "GTK"). Jika ada kecocokan, aplikasi berjalan di GTK#.

Di XAML, Anda dapat menggunakan OnPlatform tag untuk memilih nilai properti khusus untuk platform:

<Button.TextColor>
    <OnPlatform x:TypeArguments="Color">
        <On Platform="iOS" Value="White" />
        <On Platform="macOS" Value="White" />
        <On Platform="Android" Value="Black" />
        <On Platform="GTK" Value="Blue" />
    </OnPlatform>
</Button.TextColor>

Ikon Aplikasi

Anda dapat mengatur ikon aplikasi saat startup:

window.SetApplicationIcon("icon.png");

Tema

Ada berbagai tema yang tersedia untuk GTK#, dan dapat digunakan dari Xamarin.Forms aplikasi:

GtkThemes.Init ();
GtkThemes.LoadCustomTheme ("Themes/gtkrc");

Formulir Asli

Formulir Asli memungkinkan Xamarin.FormsContentPagehalaman -turunan dikonsumsi oleh proyek asli, termasuk proyek GTK#. Ini dapat dicapai dengan membuat instans ContentPagehalaman -turunan dan mengonversinya ke jenis GTK# asli menggunakan CreateContainer metode ekstensi:

var settingsView = new SettingsView().CreateContainer();
vbox.PackEnd(settingsView, true, true, 0);

Untuk informasi selengkapnya tentang Formulir Asli, lihat Formulir Asli.

Terbitan

Ini adalah Pratinjau, jadi Anda harus mengharapkan bahwa tidak semuanya siap produksi. Untuk status implementasi saat ini, lihat Status, dan untuk masalah yang diketahui saat ini, lihat Masalah yang Tertunda & Diketahui.