Как добавить активность (Встречи, Задачи) в Xamarin.Forms с помощью управления календарем внутри приложения? - PullRequest
0 голосов
/ 25 апреля 2019

Я создаю приложение, и в этом случае необходимо отображать календарь на определенной странице или в блоке, а внутри календаря отображать определенную активность в день, например, 27 апреля, в субботу и т.д., и так далее, в зависимости отвремя выполнения.

Я использую стандарт .Net 2.0 и пытаюсь сделать с XamForms.Controls.Calendar, но у меня это не работает.

Мне нужно реализовать календарь с бесплатным плагином и полной поддержкой стандарта .Net.

Может кто-нибудь разобраться в этом и предложить мне, что я должен изменить в коде или конфигурации?

1 Ответ

0 голосов
/ 26 апреля 2019

Если вы просто хотите отобразить определенную активность в определенный день, вы можете использовать SpecialDate в XamForms.Controls.Calendar, чтобы добиться этого, я установил FontSize = 0, чтобы сделать дату невидимой, и установил Selectable = false, чтобы отключить выбор. действие:

    public MainPage()
    {
        InitializeComponent();

        Calendar calendar = new Calendar
        {
            MaxDate = DateTime.Now.AddDays(30),
            MinDate = DateTime.Now.AddDays(-1),
            MultiSelectDates = false,
            DisableAllDates = false,
            WeekdaysShow = true,
            ShowNumberOfWeek = true,

            ShowNumOfMonths = 1,
            EnableTitleMonthYearView = true,
            WeekdaysTextColor = Color.Teal,
            StartDay = DayOfWeek.Monday,
            SelectedTextColor = Color.Fuchsia,
            SpecialDates = new List<SpecialDate>{
                new SpecialDate(DateTime.Now.AddDays(2))
                {
                    BackgroundColor = Color.White,
                    TextColor = Color.White,

                    Selectable = false,
                    FontSize = 0,

                    BackgroundPattern = new BackgroundPattern(1)
                    {
                        Pattern = new List<Pattern>
                        {
                            new Pattern{ WidthPercent = 1f, HightPercent = 1f, Color = Color.White,Text = "4th Saturday", TextColor=Color.DarkBlue, TextSize=8, TextAlign=TextAlign.Middle}
                        }
                    }
                }
            }
        };

        Content = new ScrollView
        {
            Content = new StackLayout
            {
                Padding = new Thickness(5, Device.RuntimePlatform == Device.iOS ? 25 : 5, 5, 5),
                Children = {
                        calendar//,c2
                    }
            }
        };        

    }

Вот результат:

calendarview

Если вы хотите показать всю субботу, вы должны рассчитать дату самостоятельно и передать дату в качестве параметра в DateTime.Now.AddDays(2).

...