|
//Schedule with custom header
<Grid Grid.Row="1">
<Grid.RowDefinitions>
<RowDefinition Height="0.1*"/>
<RowDefinition Height="0.9*"/>
</Grid.RowDefinitions>
<Label BackgroundColor="White" x:Name="dayHeader" Grid.Row="0" TextColor="Black" VerticalTextAlignment="Center" HorizontalTextAlignment="Start"/>
<Label BackgroundColor="White" x:Name="weekHeader" Grid.Row="0" IsVisible="False" TextColor="Black" VerticalTextAlignment="Center" HorizontalTextAlignment="Center"/>
<schedule:SfSchedule Grid.Row="1" x:Name="schedule"
ScheduleView="DayView"
VerticalOptions="FillAndExpand"
HorizontalOptions="FillAndExpand"
HeaderHeight="0" />
</Grid>
/// <summary>
/// Change schedule view and handle visibility of header views
/// </summary>
private void Button_Clicked(object sender, EventArgs e)
{
if (schedule.ScheduleView == ScheduleView.WeekView)
{
schedule.ScheduleView = ScheduleView.DayView;
dayHeader.IsVisible = true;
weekHeader.IsVisible = false;
}
else
{
schedule.ScheduleView = ScheduleView.WeekView;
dayHeader.IsVisible = false;
weekHeader.IsVisible = true;
}
}
/// <summary>
/// Set header text
/// </summary>
private void Schedule_VisibleDatesChangedEvent(object sender, VisibleDatesChangedEventArgs e)
{
if (schedule.ScheduleView == ScheduleView.DayView)
{
dayHeader.Text = e.visibleDates[0].ToString("MMMM yyyy");
}
else if (schedule.ScheduleView == ScheduleView.WeekView)
{
weekHeader.Text = e.visibleDates[0].ToString("MMMM yyyy");
}
} |