شروع دوره پایتون از پنجشنبه 1 خرداد ، مقدماتی تا پیشرفته، بدون پیش نیاز شروع دوره پایتون از پنجشنبه 1 خرداد ، مقدماتی تا پیشرفته، بدون پیش نیاز
🎯 ثبت نام

اولین مراحل پیش نمایش Windows برای Xamarin Forms

کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.

اولین مراحل پیش نمایش Windows برای Xamarin Forms

چندی پیش، James Montemagno به همراه Miguel de Icaza و Scott Hanselman در کنفرانس DotNetConf 2015، یک نسخه پیش نمایش از Xamarin Formها ارائه کردند که قابلیت پشتیبانی از پروژه های Windows Store و Windows Phone را داشت.

از مدت ها قبل برنامه نویسان منتظر  پشتیبانی از پروژه های Windows XAML و جامع در Xamarin.Formها بودند. تا به امروز Xamarin.Formها فقط قادر به پشتیبانی از پروژه های Windows Phone 8.0 Silverlight بودند و نمی توانستند از سناریوی دیگری استفاده کنند.

این نسخه فقط در حالت پیش نمایش است. اما می توانید با آن کار کنید و نگاهی به آنچه در آینده عرضه خواهد شد داشته  باشید.

آماده سازی یک Xamarin.Forms solutionجدید

برای شروع کار با این پیش نمایش، قبل از هر چیز باید با استفاده از قالبهای موجود در Visual Studio، یک پروژه Xamarin.Forms جدید ایجاد کنید:

آموزش Xamarin

 

پس از ساخت پروژه، Xamarin.Forms NuGet packages مورد استفاده در پروژه را بروزرسانی کنید و مطمئن شوید نسخه مورد استفاده در تمام پروژه های موجود در Solution یکسان هستند. برای انجام اینکار بر روی Solution در Solution Explorer راست کلیک کرده و گزینه Manage NuGet Packages for solution را انتخاب کنید. کانال را از Stable only به Include prerelease تغییر دهید تا بتوانید جدیدترین نسخه ها را مشاهده کنید. در بخش Updates، Updateهای ممکن برای Xamarin.Forms و Xamarin Support Library را مشاهده می کنید. بر روی دکمه Update All کلیک کنید:

آموزش Xamarin

حالا می توانید قابلیت پشتیبانی از پروژه های Windows Universal را به پروژه خود اضافه کنید. اول باید یک پروژه Windows Universal جدید به Solution خود اضافه کنید. اگر نیازی به پشتیبانی از Windows Phone 8.0 ندارید، می توانید پروژه Windows Phone 8 را که به همراه قالب Xamarin.Forms ایجاد شده است را حذف کنید.

در این مرحله باید Xamarin.Forms NuGet را به پروژه Windows Universal جدید اضافه کنید. مانند قبل، بر روی Solution راست کلیک کرده و NuGet manager را باز کنید. گزینه Online را از قسمت سمت چپ انتخاب کنید و مطمئن شوید کانال Include prerelease انتخاب شده باشد. مانند شکل زیر عبارت Xamarin.forms.windows را جستجو کنید:

 

آموزش Xamarin

پس از کلیک بر روی install، از شما پرسیده خواهد شد که می خواهید این Package را بر روی کدام پروژه ها نصب شود. کافیست بر روی دکمه OK کلیک کنید تا نصب آغاز شود.

آموزش Xamarin

تا اینجا کتابخانه های لازم در پروژه Universal بوجود آمده و می توانند بوسیله Xamarin.Formها پشتیبانی شوند. اکنون باید با استفاده از کد مشترک (shared code) و viewها، یک ارجاع به پروژه Universal برای کتابخانه کلاس Xamarin.Forms  اضافه کنید. مشکل اینجاست که Xamarin.Forms ای که به صورت پیش فرض PCL را ایجاد کرده است، Windows Phone 8.1 یا Windows Store پشتیبانی نمی کند:

 

آموزش Xamarin

برای رفع این مشکل، به خصوصیات (properties) پروژه PCL مراجعه کرده و فریم ورک های مورد نظر را ویرایش کنید. در صورتی که نیاز ی به پشتیبانی از Windows Phone Silverlight 8 نداشته باشید، می توانید آن را از حالت انتخاب خارج کرده و پشتیبانی از Windows Phone 8.1 و Windows 8.1 را اضافه کنید: 

آموزش Xamarin

پس از انجام این کار، Visual Studio پروژه را مجدداً با فریم ورک های جدید، بارگذاری می کند. حالا می توانید در هر زیر پروژه Universal (universal sub project) یک ارجاع به این پروژه بدهید.

فقط چند مرحله دیگر باقی مانده است. برای ادامه باید پروژه های Univarsal را مقداردهی اولیه (initialize) کنید و برنامه Xamarin.Forms را بارگذاری کنید.

شروع Xamarin.Forms در پروژه universal

باید در متد OnLaunched ، در فایل App.xaml.cs، کدهای زیر را اضافه کنید. بنابراین وقتی برنامه شروع به کار می کند، موتور  Xamarin.Forms را اندازی می شود.

 protected override void OnLaunched(LaunchActivatedEventArgs e)  

{  

    Frame rootFrame = Window.Current.Content as Frame;  

    if (rootFrame == null)  

    {  

        rootFrame = new Frame();  

        rootFrame.CacheSize = 1;  

  

        //Initialize Xamarin.Forms  

        global::Xamarin.Forms.Forms.Init(e);  

  

        Window.Current.Content = rootFrame;  

    }  

}

 

سپس در صفحه اصلی (MainPage) پروژه Windows Store، باید نوع پایه را از Page به Xamarin.Forms WindowsPage تغییر دهید:

<forms:WindowsPage  

    x:Class="XamarinForWinStore.WinUniversal.MainPage"  

    xmlns:forms="using:Xamarin.Forms.Platform.WinRT" >

forms:WindowsPage>

در کد های Code Behind  ، به زبان ،C# مربوط به MainPage، باید نوع پایه کلاس را تغییر دهید (چون این کلاس، یک کلاس Partial است و در XAML تعریف شده است، لذا نیازی به تغییر در کد های Code Behind نیست) و کد زیر را برای بارگذاری برنامه Xamarin اضافه کنید:

public sealed partial class MainPage

{

    public MainPage()

    {

        this.InitializeComponent();

 

        this.NavigationCacheMode = NavigationCacheMode.Required;

 

        LoadApplication(new XamarinForWinStore.App());

    }

}

  

این فرایند را در پروژه Windows Phone نیز تکرار می کنیم. اما اینبار به جای WindowsPage  از WindowsPhonePage استفاده خواهیم کرد.

کمی کد App.cs در پروژه PCL تغییر می دهیم تا از یک پس زمینه متفاوت و فونت بزرگتر ی استفاده کند:

public App()  

{  

    // The root page of your application  

    MainPage = new ContentPage  

    {  

        BackgroundColor = Color.FromRgba(0.3, 0.3, 0.5, 1),  

        Content = new StackLayout  

        {  

            VerticalOptions = LayoutOptions.Center,  

            Children = {  

                            new Label 

                            {  

                                         XAlign = TextAlignment.Center,  

                                         Text = "Welcome to Xamarin Forms! on WinRT",  

 

                            }  

        }  

    };  

}

 

پروژه Windows Store را به عنوان پروژه آغازکننده (Startup Project)  Solution انتخاب کنید و دکمه F5 را فشار دهید.

آموزش Xamarin

با این نسخه پیش نمایش یک گام بزرگ به سمت جلو برداشته شده است و به ما اجازه کار کردن با Xamarin.Forms در پلتفرم های جدید را می دهد. اما خیلی تا ارائه نسخه نهایی مانده است. برخی از امکاناتی که در این نسخه وجود ندارند عبارتند از:

  • Mapها (نقشه ها)
  • GridView
  • Controlها: برخی کنترل ها یک رندر کننده اختصاصی () برای Windows XAML ندارند.
  • Resources (منابع)

 

 

 

 

1394/10/07 2142 1085
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...