void UpdateSectionHeader(Panel section, Panel sectionHeader, CompositeTransform headerTransform, CompositeTransform headerContentTransform, double multiplier)
{
var travelledDistance = Math.Abs(ScrollingHost.VerticalOffset - ActualHeight * multiplier);
if (travelledDistance <= FIXED_TRAVELLED_DISTANCE)
{
sectionHeader.Opacity = 1;
}
else
{
var opacity = 1 - travelledDistance / sectionHeader.ActualHeight;
sectionHeader.Opacity = opacity;
}
headerTransform.TranslateY = (ScrollingHost.VerticalOffset - ActualHeight * multiplier) * HEADER_MOVEMENT_FACTOR;
headerContentTransform.TranslateY = (ScrollingHost.VerticalOffset - ActualHeight * multiplier) * HEADER_CONTENT_MOVEMENT_FACTOR;
}