Xamarin.iOS のドキュメント
選択
コントロール > Calendar > 機能 > 選択

C1Calendar コントロールのデフォルトの動作をカスタマイズして、特定の日付を選択できます。たとえば、異なる週の 2 つの日付をタップするだけで、平日だけを選択できるようにしたいとします。それには、SelectionChanging イベントをサブスクライブし、ハンドラに選択条件を適用するだけです。

次の図は、異なる週の 2 つの日付をタップすると、平日だけが選択され、週末が選択解除される C1Calendar です。

次のコード例は、C# で C1Calendar コントロールの選択範囲をカスタマイズする方法を示します。この例では、「クイックスタート」で作成したサンプルを使用します。

  1. ViewController.cs ファイルの内容を次のコードに置き換えます。
    C#
    コードのコピー
    using C1.iOS.Calendar;
    using System;
    using UIKit;
    
    namespace CalendariOS
    {
        public partial class ViewController : UIViewController
        {
            public ViewController(IntPtr handle) : base(handle)
            {
            }
    
            public override void ViewDidLoad()
            {
                base.ViewDidLoad();
                Calendar.SelectionChanging += OnSelectionChanging;
            }
            public override void ViewDidUnload()
            {
                base.ViewDidUnload();
                Calendar.SelectionChanging -= OnSelectionChanging;
            }
    
            private void OnSelectionChanging(object sender, CalendarSelectionChangingEventArgs e)
            {
                foreach (var date in e.SelectedDates.ToArray())
                {
                    if (date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday)
                        e.SelectedDates.Remove(date);
                }
            }
    
        }
    }