Xamarin.FormsUygulama hızlı başlangıcı oluşturma

Örnek indir Örneği indirin

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:

Notlar uygulamanotları sayfası hakkında

Ö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

  1. 2019 Visual Studio başlatın ve başlangıç penceresinde yeni proje oluştur ' a tıklayarak yeni bir proje oluşturun:

    Yeni çözüm

  2. 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:

    Şablon seçin

  3. 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:

    Kabuk uygulamasını yapılandırma

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

  4. Yeni mobil uygulama Iletişim kutusunda sekmeli şablonu seçin ve Oluştur düğmesine tıklayın:

    Kabuk uygulaması oluşturma

    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 .

  5. Çözüm GezginiNotlar projesinde, aşağıdaki klasörleri (ve bunların içeriklerini) silin:

    • Modeller
    • Hizmetler
    • ViewModel 'lar
    • Görünümler
  6. Çözüm Gezgininotlar projesinde, GettingStarted.txtsilin.

  7. Çözüm GezginiNotlar projesinde, Görünümleradlı yeni bir klasör ekleyin.

  8. Çö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:

    Notsayfası Ekle

    Bu işlem, Görünümler klasörüne notspage adlı yeni bir sayfa ekler. Bu sayfa, uygulamadaki ana sayfa olacaktır.

  9. Çözüm Gezgini, notlar projesinde, notları açmak için notpage. xaml ' ye çift tıklayın:

    Notpage. xaml açın

  10. 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 Editor metin girişi ve Button uygulamayı bir dosyayı kaydetmek ya da silmek üzere yönlendirecek iki nesneden oluşan, sayfa için Kullanıcı arabirimini bildirimli olarak tanımlar. İki Button nesne, Grid ve ' EditorGrid de dikey olarak yerleştirilmekte olan ile yatay olarak düzenlenir StackLayout . 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.

  11. Çözüm Gezgini, notlar projesinde, notları açmak için notpage. xaml. cs öğesine çift tıklayın:

    Notpage. xaml. cs açın

  12. 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.txt uygulama 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ülenir Editor . KaydetOnSaveButtonClicked 'e basıldığında olay işleyicisi yürütülür ve Editor dosyanın içeriğini dosyaya kaydeder. Delete tuşuna basıldığında OnDeleteButtonClicked olay işleyicisi yürütülür, bu, var olan dosyayı siler ve öğesinden herhangi bir metni kaldırır Editor . 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.

  13. Çö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:

    AboutPage Ekle

    Bu, views klasörüne aboutpage adlı yeni bir sayfa ekler.

  14. Çözüm Gezgini, Notlar projesinde, açmak için aboutpage. xaml öğesine çift tıklayın:

    AboutPage. xaml açın

  15. 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, ImageLabel metni görüntüleyen iki nesneden oluşur Button . İki nesne, ve ' de LabelButton dikey olarak yatay olarak StackLayout yerleştirilmekte olan ' de dikey olarak düzenlenir ImageStackLayoutGrid . 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.

  16. Çözüm Gezgini, Notlar projesinde, bu dosyayı açmak için aboutpage. xaml. cs öğesine çift tıklayın:

    AboutPage. xaml. cs açın

  17. 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ımlar Button . 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 sayfa OpenAsync gö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.

  18. Çözüm Gezgini, Notlar projesinde appshell. xaml ' ye çift tıklayarak açın:

    AppShell. xaml açın

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

  20. Çözüm Gezgini, Notes projesinde appshell. xaml' i genişletin ve appshell. xaml. cs ' ye çift tıklayarak açın:

    AppShell. xaml. cs 'yi açın

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

  22. Çözüm Gezgini, Notlar projesinde app. xaml ' ye çift tıklayarak açın:

    App. xaml açın

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

  24. Çözüm Gezgini, Notes projesinde app. xaml' i genişletin ve app. xaml. cs ' ye çift tıklayarak açın:

    App. xaml. cs 'yi açın

  25. 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ış Shell nesneye _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

  1. 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:

    Derleme Başarılı

    Hatalar varsa, önceki adımları tekrarlayın ve projeler başarıyla oluşana kadar hataları düzeltin.

  2. 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:

    Visual Studio Android Araç Çubuğu

    Android Emulator'daki notlar

    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:

    Android Emulator'daki sayfa hakkında notlar

    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.

  3. Visual Studio araç çubuğunda Notes.iOS projesine sağ tıklayın ve Başlangıç Olarak Ayarla'yı Project.

    Notes.iOS'u Başlangıç Programı olarak Project

  4. 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:

    Visual Studio iOS Araç Çubuğu

    iOS Simülatöründe Notlar

    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:

    iOS Simülatörü sayfasındaki sayfa hakkında notlar

    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

  1. Yeni Mac için Visual Studio proje oluşturmak için başlangıç penceresinde Yeni'ye tıklayın:

    Yeni Çözüm

  2. 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:

    Şablon Seçme

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

    Kabuk Uygulamasını Yapılandırma

  4. 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:

    Kabuk Project

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

  5. 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
  6. aşağıdaki Çözüm Bölmesi,Notlar projesindeGettingStarted.txt.

  7. Aşağıdaki Çözüm Bölmesi,Notlar projesine Görünümler adlı yeni bir klasör ekleyin.

  8. İ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:

    NotesPage Ekleme

    Bu, Görünümler klasörüne NotesPage adlı yeni bir sayfa ekler. Bu sayfa, uygulamanın ana sayfası olacak.

  9. İlk Çözüm Bölmesi,Notlar projesindeNotesPage.xaml'e çift tıklar ve açın:

    NotesPage.xaml'i açın

  10. 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 EditorButton olarak tanımlar. İki nesne, ve dikey olarak bir içinde olacak şekilde Button yatay olarak bir içinde GridEditorGrid yalıttır. StackLayout 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) NotesPage.xamldosyasındaki değişiklikleri kaydedin.

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

    NotesPage.xaml.cs'yi açın

  12. 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.txt dosyaya başvurulan bir alanı tanımlar. Sayfa oluşturucusu yürütülürken dosya okunur, varsa ve içinde Editor görüntülenir. Kaydet'eOnSaveButtonClicked basıldığında olay işleyicisi yürütülür ve bu da dosyasının Editor iç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 ve OnDeleteButtonClicked dosyasındaki tüm metinleri Editor kaldı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.

  13. İ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:

    AboutPage Ekleme

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

    AboutPage.xaml'i açın

    Bu, Görünümler klasörüne AboutPage adlı yeni bir sayfa ekler.

  15. 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 'den Button oluşur. ve nesneleri dikey olarak bir içinde, ve ise dikey Label olarak bir içinde ortaya ButtonStackLayoutImageStackLayoutGrid çı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.

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

    AboutPage.xaml.cs'yi açın

  17. 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, OnButtonClicked Daha fazla bilgi'ye basıldığında yürütülen olay OnButtonClickedButton tanı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 temsil OpenAsync edilen 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.

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

    AppShell.xaml'i açın

  19. 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 TabBar bildirimli olarak ShellContent tanı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.

  20. 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'yi açın

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

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

    App.xaml'i açın

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

  24. 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'yi açın

  25. 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 App sorumlu 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ı nesneye Shell baş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ıç

  1. 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:

    Derleme Başarılı

    Hatalar varsa, önceki adımları tekrarlayın ve projeler başarıyla oluşana kadar hataları düzeltin.

  2. Uygulamanın Çözüm BölmesiNotes.iOS projesini seçin, sağ tıklayın ve Başlangıç Olarak Ayarla'yı Project:

    iOS'u Başlangıç Project

  3. 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:

    Mac için Visual Studio Araç Çubuğu

    iOS Simülatöründe Notlar

    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:

    iOS Simülatörü sayfasındaki sayfa hakkında notlar

    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 .

  4. Komut Çözüm BölmesiNotes.Android projesini seçin, sağ tıklayın ve Başlangıç Olarak Ayarla'yı Project:

    Android'i Başlangıç Project

  5. 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:

    Android Emulator'daki notlar

    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:

    Android Emulator'daki sayfa hakkında notlar

    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 Shell açıklama.

Bu Kabuk uygulamasına başka sayfalar eklemek için sonraki hızlı başlan çalışmaya Xamarin.Forms devam edin.