Sdílet prostřednictvím


Nastavení platformy GTK#

Xamarin.Forms teď má podporu verze Preview pro aplikace GTK#. GTK# je grafická sada nástrojů uživatelského rozhraní, která propojuje sadu nástrojů GTK+ a řadu knihoven GNOME, což umožňuje vývoj plně nativních grafických aplikací GNOME pomocí Mono a .NET. Tento článek ukazuje, jak přidat projekt GTK# do Xamarin.Forms řešení.

Důležité

Xamarin.Forms podpora pro GTK# je poskytována komunitou. Další informace najdete v tématu Xamarin.Forms Podpora platformy.

Než začnete, vytvořte nové Xamarin.Forms řešení nebo použijte existující Xamarin.Forms řešení.

Poznámka:

I když se tento článek zaměřuje na přidání aplikace GTK# do Xamarin.Forms řešení ve VS2017 a Visual Studio pro Mac, dá se také provést v MonoDevelop pro Linux.

Přidání aplikace GTK#

GTK# pro macOS a Linux se instaluje jako součást Mono. GTK# pro .NET je možné nainstalovat ve Windows pomocí instalačního programu GTK#.

Podle těchto pokynů přidejte aplikaci GTK#, která se spustí na ploše Windows:

  1. V sadě Visual Studio 2019 klikněte pravým tlačítkem na název řešení v Průzkumník řešení a zvolte Přidat > nový projekt....

  2. V okně Nový projekt vlevo vyberte Visual C# a Klasickou plochu Windows. V seznamu typů projektů zvolte Knihovna tříd (.NET Framework) a ujistěte se, že rozevírací seznam Framework je nastaven na minimálně rozhraní .NET Framework 4.7.

  3. Zadejte název projektu s příponou GTK , například GameOfLife.GTK. Klikněte na tlačítko Procházet , vyberte složku obsahující ostatní projekty platformy a stiskněte vybrat složku. Tím se projekt GTK umístí do stejného adresáře jako ostatní projekty v řešení.

    Přidání nového projektu GTK

    Stisknutím tlačítka OK vytvořte projekt.

  4. V Průzkumník řešení klikněte pravým tlačítkem na nový projekt GTK a vyberte Spravovat balíčky NuGet. Vyberte kartu Procházet a vyhledejte Xamarin.Forms hodnotu 3.0 nebo vyšší.

    Xamarin.Forms Výběr balíčku NuGet

    Vyberte balíček a klikněte na tlačítko Instalovat .

  5. Nyní vyhledejte Xamarin.Forms. Balíček Platform.GTK 3.0 nebo novější.

    Vyberte tlačítko Xamarin.Forms. Balíček NuGet Platformy.GTK

    Vyberte balíček a klikněte na tlačítko Instalovat .

  6. V Průzkumník řešení klikněte pravým tlačítkem na název řešení a vyberte Spravovat balíčky NuGet pro řešení. Vyberte kartu Aktualizovat a Xamarin.Forms balíček. Vyberte všechny projekty a aktualizujte je na stejnou Xamarin.Forms verzi, jakou používá projekt GTK.

  7. V Průzkumník řešení klikněte pravým tlačítkem na Odkazy v projektu GTK. V dialogovém okně Správce odkazů vyberte Projekty vlevo a zaškrtněte políčko vedle projektu .NET Standard nebo sdíleného projektu:

    Odkaz na sdílený projekt

  8. V dialogovém okně Správce odkazů stiskněte tlačítko Procházet a přejděte do složky C:\Program Files (x86)\GtkSharp\2.12\lib a vyberte složku atk-sharp.dll, gdk-sharp.dll, glade-sharp.dll, glib-sharp.dll, gtk-dotnet.dll, gtk-sharp.dll soubory.

    Odkaz na knihovny GTK#

    Stisknutím tlačítka OK přidejte odkazy.

  9. V projektu GTK přejmenujte Class1.cs na Program.cs.

  10. V projektu GTK upravte soubor Program.cs tak, aby připomínal následující kód:

    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();
            }
        }
    }
    

    Tento kód inicializuje GTK# a Xamarin.Formsvytvoří okno aplikace a spustí aplikaci.

  11. V Průzkumník řešení klikněte pravým tlačítkem na projekt GTK a vyberte Vlastnosti.

  12. V okně Vlastnosti vyberte kartu Aplikace a změňte rozevírací seznam Typ výstupu na aplikaci systému Windows.

    Změna typu výstupu projektu

  13. V Průzkumník řešení klikněte pravým tlačítkem na projekt GTK a vyberte Nastavit jako spouštěný projekt. Stisknutím klávesy F5 spusťte program pomocí ladicího programu sady Visual Studio na ploše Windows:

    GTK# Game of Life

Další kroky

Specifika platforem

To, na jaké platformě Xamarin.Forms aplikace běží, můžete určit z XAML nebo kódu. To vám umožní změnit charakteristiky programu, když běží v GTK#. V kódu porovnejte hodnotu Device.RuntimePlatform s konstantou Device.GTK (která se rovná řetězci "GTK"). Pokud existuje shoda, aplikace běží v GTK#.

V XAML můžete pomocí značky OnPlatform vybrat hodnotu vlastnosti specifickou pro platformu:

<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>

Ikona aplikace

Ikonu aplikace můžete nastavit při spuštění:

window.SetApplicationIcon("icon.png");

Themes

Pro GTK# je k dispozici celá řada motivů, které je možné použít z Xamarin.Forms aplikace:

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

Nativní formuláře

Nativní formuláře umožňují Xamarin.FormsContentPagevyužívat odvozené stránky nativními projekty, včetně projektů GTK#. Toho lze dosáhnout vytvořením instance ContentPageodvozené stránky a převodem na nativní typ GTK# pomocí CreateContainer metody rozšíření:

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

Další informace o nativních formulářích naleznete v tématu Nativní formuláře.

Problémy

Jedná se o verzi Preview, takže byste měli očekávat, že není všechno připravené pro produkční prostředí. Aktuální stav implementace naleznete v tématu Stav a aktuální známé problémy naleznete v tématu Čekající a známé problémy.