Quantcast
Channel: ‫فید مطالب .NET Tips
Viewing all articles
Browse latest Browse all 2016

‫تقویم شمسی در Xamarin Forms

$
0
0
BitDatePicker یک Date Picker، برای استفاده در برنامه‌هایی مبتنی بر زمارین فرم (Android - iOS - UWP) است.

مهم‌ترین ویژگی ها:
  • پشتیبانی از تمامی Calendar System هایی که noda time ساپورت می‌کند؛ اعم از شمسی، قمری، میلادی و ...
  • پشتیبانی از تمامی Locale هایی که NET. پشتیبانی می‌کند؛ اعم از فارسی، عربی، انگلیسی و ...
  • قابلیت ارائه Template سفارشی شده برای UI
  • سازگار شده با MVVM
بر روی گیت هاب یک نمونه کد که در آن از کنترل BitDatePicker استفاده شده، قرار داده‌ایم. در ادامه  توضیح مختصری را از نحوه‌ی استفاده‌ی از آن داریم.

چگونه BitDatePicker را در پروژه‌ی خود داشته باشیم؟
  • دریافت و نصب پکیج Bit.CSharpClient.Controls از nuget.
  • اضافه کردن کدهای زیر در کلاس AppDelegate پروژه‌ی iOS و کلاس Main Activity در Android و کلاس App پروژه‌ی UWP قبل از Forms.Init .
BitCSharpClientControls.Init();

چگونگی استفاده از BitDatePicker در فرم Xaml: 
  • اضافه کردن namepsace های زیر در فرم Xaml:

  • xmlns:bitControls="clr-namespace:Bit.CSharpClient.Controls;assembly=Bit.CSharpClient.Controls"
    xmlns:noda="clr-namespace:NodaTime;assembly=NodaTime"

    مثال تقویم شمسی:
<bitControls:BitDatePicker
    Text="لطفا یک روز را انتخاب کنید" 
    Culture="Fa"
    DateDisplayFormat="dd MMM yyyy"
    CalendarSystem="{x:Static noda:CalendarSystem.PersianArithmetic}"
    FlowDirection="RightToLeft" 
    SelectedDate =" {Binding SelectedDate}"/>

برای داشتن تقویم شمسی  با اعداد فارسیتنها کافی است از یک Font که همیشه اعداد فارسی را در خود دارد مثل Vazir-FD-WOL، استفاده کنیم. فونتی سبک، سورس باز و زیبا! (FD مخفف Farsi Digit و WOL مخفف Without Latin است)

برای درک بهتر از نحوه‌ی استفاده‌ی از این Date Picker، نگاهی به Sample های آن بیاندازید. همچنین می‌توانید در همینجا نیز سؤالات خود را بپرسید؛ یا این که در Stackoverflow.com سوال ایجاد کنید و یا در GitHub یک Issue را ثبت کنید.


Viewing all articles
Browse latest Browse all 2016

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>