土曜日と日曜日の色を変更したカレンダーを表示する方法(Xamarin.Forms)

文書番号 : 81954     文書種別 : 使用方法     登録日 : 2017/01/30     最終更新日 : 2017/01/30
文書を印刷する
対象製品
Xuni
詳細
Xuniのカレンダーコントロールは、規定で標準的なカレンダーを表示し、日付選択ができる状態になりカレンダーとしての機能を利用できます。
これが標準的な表示です。

日本にある多くのカレンダーは、土曜日が青、日曜日が赤で表示されています。
カレンダーをカスタマイズして、曜日の色を変更するには以下のコード記述で実現できます。
曜日、日付ともに対応するイベント内で表示内容を変更します。

曜日を表示する領域(曜日スロット): DayOfWeekSlotLoading
日付を表示する領域(日付スロット): DaySlotLoading

サンプルコード
C#(Xamarin.Forms)
public Xuni_QuickStartPage()
{
    InitializeComponent();

    // 曜日スロットの処理
    calendar.DayOfWeekFontSize = 20;
    calendar.DayOfWeekSlotLoading += (sender, e) =>
    {
        // 曜日スロットを取得して曜日領域に表示する内容を設定
        var dayofweekSlot = e.DayOfWeekSlot as Xuni.Forms.Calendar.CalendarDayOfWeekSlot;
        dayofweekSlot.DayOfWeekTextColor = getColor(e.DayOfWeek);
    };

    // 日付スロットの処理
    calendar.DaySlotLoading += (sender, e) =>
    {
        // 当月カレンダーの処理(前後の月に隣接する日ではない)
        if (!e.IsAdjacentDay)
        {
            // 日付スロットを取得して日付領域に表示する内容を設定
            var daySlot = e.DaySlot as Xuni.Forms.Calendar.CalendarDaySlot;
            daySlot.DayTextColor = getColor(e.Date.DayOfWeek);
            daySlot.DayFontSize = 20;
        }
    };
}
// 曜日で判断して色を返す関数
private Color getColor(System.DayOfWeek dayofWeek)
{
    Color color;
    switch (dayofWeek)
    {
        case System.DayOfWeek.Saturday: // 土曜日は青
            color = Color.Blue;
            break;
        case System.DayOfWeek.Sunday: // 日曜日は赤
            color = Color.Red;
            break;
        default:
            color = Color.Black;  // 既定値は黒
            break;
    }
    return color;
}





Xuni > 技術情報 > ドキュメントCalendar-機能-日付コンテンツのカスタマイズ

関連情報