Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Xamarin.Forms artık GTK# uygulamaları için önizleme desteğine sahiptir. GTK#, GTK+ araç setini ve çeşitli GNOME kitaplıklarını birbirine bağlayan, Mono ve .NET kullanarak tamamen yerel GNOME grafik uygulamalarının geliştirilmesine olanak sağlayan bir grafik kullanıcı arabirimi araç setidir. Bu makalede, bir çözüme GTK# projesinin nasıl ekleneceği gösterilmektedir Xamarin.Forms .
Önemli
Xamarin.Forms GTK# desteği topluluk tarafından sağlanır. Daha fazla bilgi için bkz Xamarin.Forms . Platform Desteği.
Başlamadan önce yeni Xamarin.Forms bir çözüm oluşturun veya mevcut Xamarin.Forms bir çözümü kullanın.
Not
Bu makale, VS2017 ve Mac için Visual Studio bir Xamarin.Forms çözüme GTK# uygulaması eklemeye odaklansa da, Linux için MonoDevelop'ta da gerçekleştirilebilir.
GTK# Uygulaması Ekleme
macOS ve Linux için GTK#, Mono'nun bir parçası olarak yüklenir. .NET için GTK#, GTK# Yükleyicisi ile Windows'a yüklenebilir.
Windows masaüstünde çalışacak bir GTK# uygulaması eklemek için şu yönergeleri izleyin:
Visual Studio 2019'da, Çözüm Gezgini çözüm adına sağ tıklayın ve Yeni Proje Ekle...'yi > seçin.
Yeni Proje penceresinde, sol tarafta Visual C# ve Windows Klasik Masaüstü'nü seçin. Proje türleri listesinde Sınıf Kitaplığı (.NET Framework) öğesini seçin ve Framework açılan listesinin en az .NET Framework 4.7 olarak ayarlandığından emin olun.
GTK uzantısına sahip proje için bir ad yazın, örneğin GameOfLife.GTK. Gözat düğmesine tıklayın, diğer platform projelerini içeren klasörü seçin ve Klasör Seç'e basın. Bu, GTK projesini çözümdeki diğer projelerde olduğu gibi aynı dizine koyar.

Projeyi oluşturmak için Tamam düğmesine basın.
Çözüm Gezgini yeni GTK projesine sağ tıklayın ve NuGet Paketlerini Yönet'i seçin. Gözat sekmesini seçin ve 3.0 veya üzerini Xamarin.Forms arayın.

Paketi seçin ve Yükle düğmesine tıklayın.
Şimdi öğesini arayın Xamarin.Forms. Platform.GTK 3.0 paketi veya üzeri.

Paketi seçin ve Yükle düğmesine tıklayın.
Çözüm Gezgini çözüm adına sağ tıklayın ve Çözüm için NuGet Paketlerini Yönet'i seçin. Güncelleştir sekmesini ve Xamarin.Forms paketi seçin. Tüm projeleri seçin ve GTK projesi tarafından kullanılan sürüme güncelleştirin Xamarin.Forms .
Çözüm Gezgini GTK projesinde Başvurular'a sağ tıklayın. Başvuru Yöneticisi iletişim kutusunda, soldaki Projeler'i seçin ve .NET Standard veya Paylaşılan projesinin yanındaki onay kutusunu işaretleyin:

Başvuru Yöneticisi iletişim kutusunda Gözat düğmesine basın ve C:\Program Files (x86)\GtkSharp\2.12\lib klasörüne gidin ve atk-sharp.dll, gdk-sharp.dll, glade-sharp.dll, glib-sharp.dll, gtk-dotnet.dll gtk-sharp.dll dosyalarını seçin.

Başvuruları eklemek için Tamam düğmesine basın.
GTK projesinde Class1.cs Program.cs olarak yeniden adlandırın.
GTK projesinde , Program.cs dosyasını aşağıdaki koda benzeyecek şekilde düzenleyin:
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(); } } }Bu kod GTK# ve Xamarin.Forms'yi başlatır, bir uygulama penceresi oluşturur ve uygulamayı çalıştırır.
Çözüm Gezgini GTK projesine sağ tıklayın ve Özellikler'i seçin.
Özellikler penceresinde Uygulama sekmesini seçin ve Çıkış türü açılan menüsünü Windows Uygulaması olarak değiştirin.

Çözüm Gezgini GTK projesine sağ tıklayın ve Başlangıç Projesi Olarak Ayarla'yı seçin. Programı Windows masaüstünde Visual Studio hata ayıklayıcısıyla çalıştırmak için F5 tuşuna basın:

Sonraki Adımlar
Platform Özellikleri
Uygulamanızın Xamarin.Forms hangi platformda çalıştığını XAML veya koddan belirleyebilirsiniz. Bu, GTK# üzerinde çalışırken program özelliklerini değiştirmenize olanak tanır. Kodda değerini Device.RuntimePlatform sabitle Device.GTK karşılaştırın ("GTK" dizesine eşittir). Eşleşme varsa, uygulama GTK# üzerinde çalışır.
XAML'de, platforma OnPlatform özgü bir özellik değeri seçmek için etiketini kullanabilirsiniz:
<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>
Uygulama Simgesi
Başlangıçta uygulama simgesini ayarlayabilirsiniz:
window.SetApplicationIcon("icon.png");
Themes
GTK# için kullanılabilen çok çeşitli temalar vardır ve bunlar bir Xamarin.Forms uygulamadan kullanılabilir:
GtkThemes.Init ();
GtkThemes.LoadCustomTheme ("Themes/gtkrc");
Yerel Formlar
Yerel Formlar, türetilmiş sayfaların GTK# projeleri de dahil olmak üzere yerel projeler tarafından tüketilmesine olanak tanır Xamarin.FormsContentPage. Bu, türetilmiş sayfanın bir örneğini ContentPageoluşturup uzantı yöntemini kullanarak bunu yerel GTK# türüne CreateContainer dönüştürerek gerçekleştirilebilir:
var settingsView = new SettingsView().CreateContainer();
vbox.PackEnd(settingsView, true, true, 0);
Yerel Formlar hakkında daha fazla bilgi için bkz . Yerel Formlar.
Sorunlar
Bu bir Önizleme olduğundan, her şeyin üretime hazır olmamasını beklemeniz gerekir. Geçerli uygulama durumu için bkz . Durum ve bilinen geçerli sorunlar için bkz . Bekleyen ve Bilinen Sorunlar.



