Articles in this section
Category / Section

How to programatically change the selected date in Xamarin.Forms Calendar (SfCalendar)

Initially, the calendar is loaded with the current day as selected date and you can initialize the calendar with specific date by using SelectedDate property in SfCalendar.

STEP 1: Create a ViewModel class and add a SelectedDate property with specific date.

public class ViewModel : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
 
        private DateTime selectedDate = DateTime.Now.AddDays(5);
 
        public DateTime SelectedDate
        {
            get
            {
                return this.selectedDate;
            }
            set
            {
                this.selectedDate = value;
                this.OnPropertyChanged("SelectedDate");
            }
        }
 
        public ViewModel()
        {
        }
 
        private void OnPropertyChanged(string propertyName)
        {
            this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        }
    }

STEP 2: Bind the SelectedDate ViewModel property to the SelectedDate property in SfCalendar.

<calendar:SfCalendar x:Name="calendar"
                             DataSource="{Binding Appointments}"
                             SelectedDate="{Binding SelectedDate}">
        <calendar:SfCalendar.BindingContext>
            <local:ViewModel/>
        </calendar:SfCalendar.BindingContext>
</calendar:SfCalendar>

Output

Selected Date

View sample in GitHub

 

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Access denied
Access denied