Xamarin.FormsUygulama hızlı başlangıcı oluşturma
Bu hızlı başlangıçta şunları nasıl yapacağınızı öğreneceksiniz:
- Bir Xamarin.Forms kabuk uygulaması oluşturun.
- Genişletilebilir Uygulama Biçimlendirme Dili (XAML) kullanarak bir sayfa için Kullanıcı arabirimi tanımlayın ve koddan XAML öğeleriyle etkileşime geçin.
- Altsınıflama sınıfı tarafından bir kabuk uygulamasının görsel hiyerarşisini Açıklama
Shell.
Hızlı başlangıç, Xamarin.Forms bir notunuz girmenize ve cihaz depolamaya devam etmenize olanak tanıyan platformlar arası bir kabuk uygulaması oluşturmayı adım adım göstermektedir. Son uygulama aşağıda gösterilmektedir:
Önkoşullar
- Visual Studio 2019 (en son sürüm), .net iş yükünün yüklü olduğu mobil geliştirmeyle birlikte.
- C# hakkında bilgi.
- seçim İOS üzerinde uygulamayı derlemek için eşleştirilmiş bir Mac.
Bu Önkoşullar hakkında daha fazla bilgi için bkz. Xamarin 'ı yükleme. Visual Studio 2019'u bir Mac derleme ana bilgisayarına bağlama hakkında bilgi için bkz. Xamarin.iOS geliştirme için Mac ile eşleştirme.
Visual Studio 2019 ile çalışmaya başlama
2019 Visual Studio başlatın ve başlangıç penceresinde yeni proje oluştur ' a tıklayarak yeni bir proje oluşturun:

yeni proje oluştur penceresinde, Project türü açılan kutusunda mobil ' i seçin, mobil uygulama ( ) şablonunu seçin ve ileri düğmesine tıklayın:

yeni projeyi yapılandırın penceresinde, Project adı ' nı notlarolarak ayarlayın, proje için uygun bir konum seçin ve oluştur düğmesine tıklayın:

Önemli
Bu hızlı başlangıçta C# ve XAML kod parçaları, çözüm ve projenin her ikisi de adlandırılmış Notolmasını gerektirir. Farklı bir ad kullanmak, bu hızlı başlangıçtan projeye kod kopyaladığınızda derleme hatalarına neden olur.
Yeni mobil uygulama Iletişim kutusunda sekmeli şablonu seçin ve Oluştur düğmesine tıklayın:

Proje oluşturulduğunda GettingStarted.txt dosyasını kapatın.
Oluşturulan .NET Standard Kitaplığı hakkında daha fazla bilgi için içindeki bölümüne bakın Anatomy of a Xamarin.Forms Shell applicationXamarin.Forms Shell Quickstart Deep Dive .
Çözüm GezginiNotlar projesinde, aşağıdaki klasörleri (ve bunların içeriklerini) silin:
- Modeller
- Hizmetler
- ViewModel 'lar
- Görünümler
Çözüm Gezgininotlar projesinde, GettingStarted.txtsilin.
Çözüm GezginiNotlar projesinde, Görünümleradlı yeni bir klasör ekleyin.
Çözüm Gezgini, Notlar projesinde, Görünümler klasörünü seçin, sağ tıklayın ve Yeni öğe Ekle...seçeneğini belirleyin. Yeni öğe Ekle iletişim kutusunda, Visual C# öğeleri içerik sayfası' nı seçin, yeni dosya notadı' nı adlandırın ve Ekle düğmesine tıklayın:

Bu işlem, Görünümler klasörüne notspage adlı yeni bir sayfa ekler. Bu sayfa, uygulamadaki ana sayfa olacaktır.
Çözüm Gezgini, notlar projesinde, notları açmak için notpage. xaml ' ye çift tıklayın:

Notpage. xaml' de, tüm şablon kodunu kaldırın ve aşağıdaki kodla değiştirin:
<?xml version="1.0" encoding="UTF-8"?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Notes.Views.NotesPage" Title="Notes"> <!-- Layout children vertically --> <StackLayout Margin="20"> <Editor x:Name="editor" Placeholder="Enter your note" HeightRequest="100" /> <!-- Layout children in two columns --> <Grid ColumnDefinitions="*,*"> <Button Text="Save" Clicked="OnSaveButtonClicked" /> <Button Grid.Column="1" Text="Delete" Clicked="OnDeleteButtonClicked"/> </Grid> </StackLayout> </ContentPage>Bu kod, bir
Editormetin girişi veButtonuygulamayı bir dosyayı kaydetmek ya da silmek üzere yönlendirecek iki nesneden oluşan, sayfa için Kullanıcı arabirimini bildirimli olarak tanımlar. İkiButtonnesne,Gridve 'EditorGridde dikey olarak yerleştirilmekte olan ile yatay olarak düzenlenirStackLayout. Kullanıcı arabirimi oluşturma hakkında daha fazla bilgi için içindeki Kullanıcı arabirimi ' ne bakın .CTRL + Stuşlarına basarak notpage. xaml değişikliklerini kaydedin.
Çözüm Gezgini, notlar projesinde, notları açmak için notpage. xaml. cs öğesine çift tıklayın:

Notpage. xaml. cs' de, tüm şablon kodunu kaldırın ve aşağıdaki kodla değiştirin:
using System; using System.IO; using Xamarin.Forms; namespace Notes.Views { public partial class NotesPage : ContentPage { string _fileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "notes.txt"); public NotesPage() { InitializeComponent(); // Read the file. if (File.Exists(_fileName)) { editor.Text = File.ReadAllText(_fileName); } } void OnSaveButtonClicked(object sender, EventArgs e) { // Save the file. File.WriteAllText(_fileName, editor.Text); } void OnDeleteButtonClicked(object sender, EventArgs e) { // Delete the file. if (File.Exists(_fileName)) { File.Delete(_fileName); } editor.Text = string.Empty; } } }Bu kod
_fileName,notes.txtuygulama için yerel uygulama verileri klasöründe notun verilerini depolayacak adlı bir dosyaya başvuran bir alan tanımlar. Sayfa Oluşturucu yürütüldüğünde dosya salt okunurdur, varsa, içinde görüntülenirEditor. KaydetOnSaveButtonClicked'e basıldığında olay işleyicisi yürütülür veEditordosyanın içeriğini dosyaya kaydeder. Delete tuşuna basıldığındaOnDeleteButtonClickedolay işleyicisi yürütülür, bu, var olan dosyayı siler ve öğesinden herhangi bir metni kaldırırEditor. Kullanıcı etkileşimi hakkında daha fazla bilgi için bkz. içindeki kullanıcı etkileşimine yanıt verme .CTRL + Stuşlarına basarak notpage. xaml. cs değişikliklerini kaydedin.
Çözüm Gezgini, Notlar projesinde, Görünümler klasörünü seçin, sağ tıklayın ve Yeni öğe Ekle...seçeneğini belirleyin. Yeni öğe Ekle iletişim kutusunda, Visual C# öğeleri içerik sayfası' nı seçin, yeni dosya aboutpageolarak adlandırın ve Ekle düğmesine tıklayın:

Bu, views klasörüne aboutpage adlı yeni bir sayfa ekler.
Çözüm Gezgini, Notlar projesinde, açmak için aboutpage. xaml öğesine çift tıklayın:

Aboutpage. xaml' de, tüm şablon kodunu kaldırın ve aşağıdaki kodla değiştirin:
<?xml version="1.0" encoding="UTF-8"?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Notes.Views.AboutPage" Title="About"> <!-- Layout children in two rows --> <Grid RowDefinitions="Auto,*"> <Image Source="xamarin_logo.png" BackgroundColor="{OnPlatform iOS=LightSlateGray, Android=#2196F3}" VerticalOptions="Center" HeightRequest="64" /> <!-- Layout children vertically --> <StackLayout Grid.Row="1" Margin="20" Spacing="20"> <Label FontSize="22"> <Label.FormattedText> <FormattedString> <FormattedString.Spans> <Span Text="Notes" FontAttributes="Bold" FontSize="22" /> <Span Text=" v1.0" /> </FormattedString.Spans> </FormattedString> </Label.FormattedText> </Label> <Label Text="This app is written in XAML and C# with the Xamarin Platform." /> <Button Text="Learn more" Clicked="OnButtonClicked" /> </StackLayout> </Grid> </ContentPage>Bu kod, bir sayfa için Kullanıcı arabirimini bildirimli olarak tanımlar, bu,
ImageLabelmetni görüntüleyen iki nesneden oluşurButton. İki nesne, ve ' deLabelButtondikey olarak yatay olarakStackLayoutyerleştirilmekte olan ' de dikey olarak düzenlenirImageStackLayoutGrid. Kullanıcı arabirimi oluşturma hakkında daha fazla bilgi için içindeki Kullanıcı arabirimi ' ne bakın ., CTRL + Stuşlarına basarak aboutpage. xaml değişikliklerini kaydedin.
Çözüm Gezgini, Notlar projesinde, bu dosyayı açmak için aboutpage. xaml. cs öğesine çift tıklayın:

Aboutpage. xaml. csdosyasında, tüm şablon kodunu kaldırın ve aşağıdaki kodla değiştirin:
using System; using Xamarin.Essentials; using Xamarin.Forms; namespace Notes.Views { public partial class AboutPage : ContentPage { public AboutPage() { InitializeComponent(); } async void OnButtonClicked(object sender, EventArgs e) { // Launch the specified URL in the system browser. await Launcher.OpenAsync("https://aka.ms/xamarin-quickstart"); } } }Bu kod,
OnButtonClickedOnButtonClicked'ye basıldığında yürütülen olay işleyicisini tanımlarButton. Düğmeye basıldığında, bir Web tarayıcısı başlatılır ve yöntemin URI bağımsız değişkeni tarafından temsil edilen sayfaOpenAsyncgörüntülenir. Kullanıcı etkileşimi hakkında daha fazla bilgi için bkz. içindeki kullanıcı etkileşimine yanıt verme .Aboutpage. xaml. cs değişikliklerini CTRL + Stuşlarına basarak kaydedin.
Çözüm Gezgini, Notlar projesinde appshell. xaml ' ye çift tıklayarak açın:

Appshell. xamliçinde, tüm şablon kodunu kaldırın ve aşağıdaki kodla değiştirin:
<?xml version="1.0" encoding="UTF-8"?> <Shell xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:views="clr-namespace:Notes.Views" x:Class="Notes.AppShell"> <!-- Display a bottom tab bar containing two tabs --> <TabBar> <ShellContent Title="Notes" Icon="icon_feed.png" ContentTemplate="{DataTemplate views:NotesPage}" /> <ShellContent Title="About" Icon="icon_about.png" ContentTemplate="{DataTemplate views:AboutPage}" /> </TabBar> </Shell>Bu kod bildirimli olarak iki nesneden oluşan bir uygulamanın görsel hiyerarşisini tanımlar
TabBarShellContent. Bu nesneler, herhangi bir kullanıcı arabirimi öğesini temsil etmez, bunun yerine uygulamanın görsel hiyerarşisi. Kabuk bu nesneleri alır ve içerik için Kullanıcı arabirimi oluşturur. Kullanıcı arabirimi oluşturma hakkında daha fazla bilgi için içindeki Kullanıcı arabirimi ' ne bakın .Appshell. xaml değişikliklerini CTRL + Stuşlarına basarak kaydedin.
Çözüm Gezgini, Notes projesinde appshell. xaml' i genişletin ve appshell. xaml. cs ' ye çift tıklayarak açın:

Appshell. xaml. csdosyasında, tüm şablon kodunu kaldırın ve aşağıdaki kodla değiştirin:
using Xamarin.Forms; namespace Notes { public partial class AppShell : Shell { public AppShell() { InitializeComponent(); } } }Appshell. xaml. cs değişikliklerini CTRL + Stuşlarına basarak kaydedin.
Çözüm Gezgini, Notlar projesinde app. xaml ' ye çift tıklayarak açın:

App. xaml' de, tüm şablon kodunu kaldırın ve aşağıdaki kodla değiştirin:
<?xml version="1.0" encoding="utf-8" ?> <Application xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Notes.App"> </Application>Bu kod
App, uygulamayı örnekmaktan sorumlu olan bir sınıfı bildirimli olarak tanımlar.CTRL + Stuşlarına basarak app. xaml 'teki değişiklikleri kaydedin.
Çözüm Gezgini, Notes projesinde app. xaml' i genişletin ve app. xaml. cs ' ye çift tıklayarak açın:

App. xaml. csdosyasında, tüm şablon kodunu kaldırın ve aşağıdaki kodla değiştirin:
using Xamarin.Forms; namespace Notes { public partial class App : Application { public App() { InitializeComponent(); MainPage = new AppShell(); } protected override void OnStart() { } protected override void OnSleep() { } protected override void OnResume() { } } }Bu kod
App, uygulamanın örnekinden sorumlu olan sınıfı için arka plan kodunu tanımlar. "Data-LinkType =" Absolute-path ">MainPageözelliğini alt sınıflanmışShellnesneye _Application_MainPage Xamarin_Forms başlatır.App. xaml. cs değişikliklerini CTRL + Stuşlarına basarak kaydedin.
Hızlı başlangıç oluşturma
Visual Studio yapı oluşturma çözümü menü öğesini seçin (veya F6 tuşuna basın). Çözüm derlemesi ve başarı iletisi, durum çubuğunda Visual Studio görüntülenir:

Hatalar varsa, önceki adımları tekrarlayın ve projeler başarıyla oluşana kadar hataları düzeltin.
Uygulama Visual Studio başlat düğmesine (Oynat düğmesine benzeyen üçgen düğme) basarak uygulamayı seçtiğiniz Android öykünücüsünü başlatabilirsiniz:


Bir not girin ve Kaydet düğmesine basın. Ardından uygulamayı kapatıp yeniden başlatarak girdiğiniz notun yeniden yüklendiğinden emin olun.
Hakkında sekmesine gitmek için sekme simgesine basın:

Hızlı başlangıçlar web sayfasını başlatmak için Daha fazla bilgi edin düğmesine basın.
Uygulamanın her platformda nasıl başlat olduğu hakkında daha fazla bilgi için, bkz. Launching the application on each platform in .
Not
Aşağıdaki adımlar yalnızca geliştirme için sistem gereksinimlerini karşılayacak eşleştirilmiş bir Mac'iniz varsa gerçekleştirin.
Visual Studio araç çubuğunda Notes.iOS projesine sağ tıklayın ve Başlangıç Olarak Ayarla'yı Project.

Uygulama araç Visual Studio başlat düğmesine (Oynat düğmesine benzeyen üçgen düğme) basarak uygulamayı seçtiğiniz iOS uzak simülatöründe başlatabilirsiniz:

Bir not girin ve Kaydet düğmesine basın. Ardından uygulamayı kapatıp yeniden başlatarak girdiğiniz notun yeniden yüklendiğinden emin olun.
Hakkında sekmesine gitmek için sekme simgesine basın:
Hızlı başlangıçlar web sayfasını başlatmak için Daha fazla bilgi edin düğmesine basın.
Uygulamanın her platformda nasıl başlat olduğu hakkında daha fazla bilgi için, bkz. Launching the application on each platform in .
Önkoşullar
- Mac için Visual Studio ve Android platform desteğinin yüklü olduğu yeni sürüm (en son sürüm).
- Xcode (en son sürüm).
- C# bilgisi.
Bu önkoşullar hakkında daha fazla bilgi için bkz. Xamarin'i Yükleme.
Mac için Visual Studio kullanmaya başlayın
Yeni Mac için Visual Studio proje oluşturmak için başlangıç penceresinde Yeni'ye tıklayın:

Yeni projeniz için şablon seçin iletişim kutusunda Çok Platformlu Uygulama'ya tıklayın, Kabuk Formları Uygulaması şablonunu seçin ve Ardından düğmesine tıklayın:

Shell Forms uygulamanızı yapılandır iletişim kutusunda yeni uygulamaya Notlar adını girinve Sonraki düğmesine tıklayın:

Yeni Shell Forms uygulamanızı yapılandır iletişim kutusunda Çözüm ve Project adları'Project olarak bırakın,proje için uygun bir konum seçin ve Oluştur düğmesine tıklayarak projeyi oluşturun:

Önemli
Bu hızlı başlangıçtaki C# ve XAML kod parçacıklarında çözüm ve projenin her ikisinin de Notes olarak adlandırılmıştır. Bu hızlı başlangıçtan projeye kod kopyalayıp farklı bir ad kullanmak derleme hatalarına neden olur.
Oluşturulan bir kitaplık .NET Standard daha fazla bilgi için bkz. Anatomy of a Xamarin.Forms Shell applicationXamarin.Forms Shell Quickstart Deep Dive .
Aşağıdaki Çözüm Bölmesi,Notlar projesinde aşağıdaki klasörleri (ve içeriklerini) silin:
- Modeller
- Hizmetler
- ViewModels
- Görünümler
aşağıdaki Çözüm Bölmesi,Notlar projesindeGettingStarted.txt.
Aşağıdaki Çözüm Bölmesi,Notlar projesine Görünümler adlı yeni bir klasör ekleyin.
İlk Çözüm Bölmesi,Notlar projesinde Görünümler klasörünü seçin, sağ tıklayın ve Yeni Dosya Ekle... öğesini seçin. Yeni Dosya iletişim kutusunda Forms Forms ContentPage XAMLöğesini seçin, yeni dosyaya NotesPageadını girin ve Yeni düğmesine tıklayın:

Bu, Görünümler klasörüne NotesPage adlı yeni bir sayfa ekler. Bu sayfa, uygulamanın ana sayfası olacak.
İlk Çözüm Bölmesi,Notlar projesindeNotesPage.xaml'e çift tıklar ve açın:

NotesPage.xamliçinde, şablon kodunun tümlerini kaldırın ve aşağıdaki kodla değiştirin:
<?xml version="1.0" encoding="UTF-8"?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Notes.Views.NotesPage" Title="Notes"> <!-- Layout children vertically --> <StackLayout Margin="20"> <Editor x:Name="editor" Placeholder="Enter your note" HeightRequest="100" /> <!-- Layout children in two columns --> <Grid ColumnDefinitions="*,*"> <Button Text="Save" Clicked="OnSaveButtonClicked" /> <Button Grid.Column="1" Text="Delete" Clicked="OnDeleteButtonClicked"/> </Grid> </StackLayout> </ContentPage>Bu kod, metin girişi için bir ve uygulamayı bir dosyayı kaydetmeye veya silen iki nesneden oluşan sayfa için kullanıcı arabirimini bildirimli
EditorButtonolarak tanımlar. İki nesne, ve dikey olarak bir içinde olacak şekildeButtonyatay olarak bir içindeGridEditorGridyalıttır.StackLayoutKullanıcı arabirimi oluşturma hakkında daha fazla bilgi için bkz. içinde kullanıcı arabirimi.Dosya Kaydet'i seçerek (veya ⌘ + S tuşlarına basarak) NotesPage.xamldosyasındaki değişiklikleri kaydedin.
Aşağıdaki Çözüm Bölmesi,Notlar projesindeNotesPage.xaml.cs'ye çift tıklar ve açın:

NotesPage.xaml.cs içindetüm şablon kodunu kaldırın ve aşağıdaki kodla değiştirin:
using System; using System.IO; using Xamarin.Forms; namespace Notes.Views { public partial class NotesPage : ContentPage { string _fileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "notes.txt"); public NotesPage() { InitializeComponent(); // Read the file. if (File.Exists(_fileName)) { editor.Text = File.ReadAllText(_fileName); } } void OnSaveButtonClicked(object sender, EventArgs e) { // Save the file. File.WriteAllText(_fileName, editor.Text); } void OnDeleteButtonClicked(object sender, EventArgs e) { // Delete the file. if (File.Exists(_fileName)) { File.Delete(_fileName); } editor.Text = string.Empty; } } }Bu kod, not verilerini uygulamanın yerel uygulama veri klasöründe depolayacak adlı
_fileNamenotes.txtdosyaya başvurulan bir alanı tanımlar. Sayfa oluşturucusu yürütülürken dosya okunur, varsa ve içindeEditorgörüntülenir. Kaydet'eOnSaveButtonClickedbasıldığında olay işleyicisi yürütülür ve bu da dosyasınınEditoriçeriğini kaydeder. Sil'e basıldığında olay işleyicisi yürütülür. Bu işleyici, mevcut olduğu şartıyla dosyayı siler veOnDeleteButtonClickeddosyasındaki tüm metinleriEditorkaldırır. Kullanıcı etkileşimi hakkında daha fazla bilgi için bkz. içinde kullanıcı etkileşimine yanıt verme.Dosya Kaydet'i seçerek (veya ⌘ + S tuşlarına basarak) NotesPage.xaml.csdosyasındaki değişiklikleri kaydedin.
İlk Çözüm Bölmesi,Notlar projesinde Görünümler klasörünü seçin, sağ tıklayın ve Yeni Dosya Ekle... öğesini seçin. Yeni Dosya iletişim kutusunda Forms Forms ContentPage XAMLöğesini seçin, yeni dosyaya AboutPageadını girin ve Yeni düğmesine tıklayın:

Aşağıdaki Çözüm Bölmesi,Notlar projesindeAboutPage.xaml'e çift tıklar ve açın:

Bu, Görünümler klasörüne AboutPage adlı yeni bir sayfa ekler.
AboutPage.xamliçinde şablon kodunun hepsini kaldırın ve aşağıdaki kodla değiştirin:
<?xml version="1.0" encoding="UTF-8"?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Notes.Views.AboutPage" Title="About"> <!-- Layout children in two rows --> <Grid RowDefinitions="Auto,*"> <Image Source="xamarin_logo.png" BackgroundColor="{OnPlatform iOS=LightSlateGray, Android=#2196F3}" VerticalOptions="Center" HeightRequest="64" /> <!-- Layout children vertically --> <StackLayout Grid.Row="1" Margin="20" Spacing="20"> <Label FontSize="22"> <Label.FormattedText> <FormattedString> <FormattedString.Spans> <Span Text="Notes" FontAttributes="Bold" FontSize="22" /> <Span Text=" v1.0" /> </FormattedString.Spans> </FormattedString> </Label.FormattedText> </Label> <Label Text="This app is written in XAML and C# with the Xamarin Platform." /> <Button Text="Learn more" Clicked="OnButtonClicked" /> </StackLayout> </Grid> </ContentPage>Bu kod, sayfa için kullanıcı arabirimini bildirimli bir şekilde tanımlar. Bu arabirim bir , metin görüntüleniyor iki nesneden ve bir
ImageLabel'denButtonoluşur. ve nesneleri dikey olarak bir içinde, ve ise dikeyLabelolarak bir içinde ortayaButtonStackLayoutImageStackLayoutGridçıkar. Kullanıcı arabirimi oluşturma hakkında daha fazla bilgi için bkz. içinde kullanıcı arabirimi.Dosya Kaydet'i seçerek (veya ⌘ + S tuşlarına basarak) AboutPage.xamldosyasındaki değişiklikleri kaydedin.
Aşağıdaki Çözüm Bölmesi,Notlar projesindeAboutPage.xaml.cs'ye çift tıklar ve açın:

AboutPage.xaml.csiçinde tüm şablon kodunu kaldırın ve aşağıdaki kodla değiştirin:
using System; using Xamarin.Essentials; using Xamarin.Forms; namespace Notes.Views { public partial class AboutPage : ContentPage { public AboutPage() { InitializeComponent(); } async void OnButtonClicked(object sender, EventArgs e) { // Launch the specified URL in the system browser. await Launcher.OpenAsync("https://aka.ms/xamarin-quickstart"); } } }Bu kod,
OnButtonClickedDaha fazla bilgi'ye basıldığında yürütülen olayOnButtonClickedButtontanımlar. Düğmeye basıldığında bir web tarayıcısı açılır ve yöntemine yönelik URI bağımsız değişkeniyle temsilOpenAsyncedilen sayfa görüntülenir. Kullanıcı etkileşimi hakkında daha fazla bilgi için bkz. içinde kullanıcı etkileşimine yanıt verme.Dosya Kaydet'i seçerek (veya dosya + S tuşlarına basarak) AboutPage.xaml.cs⌘ kaydedin.
Aşağıdaki Çözüm Bölmesi,Notlar projesindeAppShell.xaml'e çift tıklar ve açın:

AppShell.xamliçinde şablon kodunun hepsini kaldırın ve aşağıdaki kodla değiştirin:
<?xml version="1.0" encoding="UTF-8"?> <Shell xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:views="clr-namespace:Notes.Views" x:Class="Notes.AppShell"> <!-- Display a bottom tab bar containing two tabs --> <TabBar> <ShellContent Title="Notes" Icon="icon_feed.png" ContentTemplate="{DataTemplate views:NotesPage}" /> <ShellContent Title="About" Icon="icon_about.png" ContentTemplate="{DataTemplate views:AboutPage}" /> </TabBar> </Shell>Bu kod, iki nesne içeren bir içeren uygulamanın görsel hiyerarşisini
TabBarbildirimli olarakShellContenttanımlar. Bu nesneler herhangi bir kullanıcı arabirimi öğelerini değil, uygulamanın görsel hiyerarşisinin kuruluşlarını temsil eder. Kabuk bu nesneleri alır ve içerik için kullanıcı arabirimini üretir. Kullanıcı arabirimi oluşturma hakkında daha fazla bilgi için bkz. içinde kullanıcı arabirimi.Dosya Kaydet'i seçerek (veya ⌘ + S tuşlarına basarak) AppShell.xaml'de yapılan değişiklikleri kaydedin.
Aşağıdaki Çözüm Bölmesi,Notlar projesinde AppShell.xamlöğesini genişletin ve AppShell.xaml.cs'ye çift tıklar ve açın:

AppShell.xaml.cs içindetüm şablon kodunu kaldırın ve aşağıdaki kodla değiştirin:
using Xamarin.Forms; namespace Notes { public partial class AppShell : Shell { public AppShell() { InitializeComponent(); } } }Dosya Kaydet'i seçerek (veya ⌘ + S tuşlarına basarak) AppShell.xaml.csdosyasındaki değişiklikleri kaydedin.
Aşağıdaki Çözüm Bölmesi,Notlar projesindeApp.xaml'e çift tıklar ve açın:

App.xaml'deşablon kodunun hepsini kaldırın ve aşağıdaki kodla değiştirin:
<?xml version="1.0" encoding="utf-8" ?> <Application xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Notes.App"> </Application>Bu kod, uygulamayı
Appörneğinden sorumlu olan bir sınıfı bildirimli olarak tanımlar.Dosya Kaydet'i seçerek (veya ⌘ + S tuşlarına basarak) App.xaml'de yapılan değişiklikleri kaydedin.
Aşağıdaki Çözüm Bölmesi,Notlar projesinde App.xamlöğesini genişletin ve App.xaml.cs'ye çift tıklar ve açın:

App.xaml.cs içindetüm şablon kodunu kaldırın ve aşağıdaki kodla değiştirin:
using Xamarin.Forms; namespace Notes { public partial class App : Application { public App() { InitializeComponent(); MainPage = new AppShell(); } protected override void OnStart() { } protected override void OnSleep() { } protected override void OnResume() { } } }Bu kod, uygulama örneği için
Appsorumlu olan sınıfı için arka arkasındaki kodu tanımlar. Xamarin_Forms _Application_MainPage" data-linktype="absolute-path">MainPageözelliğini alt sınıflı nesneyeShellbaşlatıyor.Dosya Kaydet'i seçerek (veya ⌘ + S tuşlarına basarak) App.xaml.csdosyasındaki değişiklikleri kaydedin.
Hızlı başlangıç
Tüm Mac için Visual Studio Derleme menü öğesini seçin (veya +B ⌘ tuşlarına basın). Projeler derleme ve başarı iletisi araç çubuğunda Mac için Visual Studio görünür:

Hatalar varsa, önceki adımları tekrarlayın ve projeler başarıyla oluşana kadar hataları düzeltin.
Uygulamanın Çözüm BölmesiNotes.iOS projesini seçin, sağ tıklayın ve Başlangıç Olarak Ayarla'yı Project:

Uygulama Mac için Visual Studio başlat düğmesine (Oynat düğmesine benzeyen üçgen düğme) basarak uygulamayı seçtiğiniz iOS Simülatöründe başlatabilirsiniz:


Bir not girin ve Kaydet düğmesine basın. Ardından uygulamayı kapatıp yeniden başlatarak girdiğiniz notun yeniden yüklendiğinden emin olun.
Hakkında sekmesine gitmek için sekme simgesine basın:

Hızlı başlangıçlar web sayfasını başlatmak için Daha fazla bilgi edin düğmesine basın.
Uygulamanın her platformda nasıl başlat olduğu hakkında daha fazla bilgi için, bkz. Launching the application on each platform in .
Komut Çözüm BölmesiNotes.Android projesini seçin, sağ tıklayın ve Başlangıç Olarak Ayarla'yı Project:

Uygulama Mac için Visual Studio başlat düğmesine (Oynat düğmesine benzeyen üçgen düğme) basarak uygulamayı seçtiğiniz Android öykünücüsünün içinde başlatabilirsiniz:

Bir not girin ve Kaydet düğmesine basın. Ardından uygulamayı kapatıp yeniden başlatarak girdiğiniz notun yeniden yüklendiğinden emin olun.
Hakkında sekmesine gitmek için sekme simgesine basın:

Hızlı başlangıçlar web sayfasını başlatmak için Daha fazla bilgi edin düğmesine basın.
Uygulamanın her platformda nasıl başlat olduğu hakkında daha fazla bilgi için, bkz. Launching the application on each platform in .
Sonraki adımlar
Bu hızlı başlangıçta şunları öğrendiniz:
- Bir Xamarin.Forms Kabuk uygulaması oluşturun.
- eXtensible Uygulama Biçimlendirme Dili (XAML) kullanarak bir sayfa için kullanıcı arabirimini tanımlayın ve koddan XAML öğeleriyle etkileşime girin.
- Sınıfını alt sınıflandırarak bir Shell uygulamasının görsel hiyerarşisini
Shellaçıklama.
Bu Kabuk uygulamasına başka sayfalar eklemek için sonraki hızlı başlan çalışmaya Xamarin.Forms devam edin.
Örneği indirin


