I "solved" it by doing the following: switching the BindingContext declaration from XAML to code behind, and overriding the OnAppearing method to LoadProjects(). I still feel like I'm missing something.
private LandingViewModel _viewModel = new LandingViewModel();
public LandingPage()
{
InitializeComponent();
BindingContext = _viewModel;
}
protected async override void OnAppearing()
{
base.OnAppearing();
_viewModel.LoadProjects();
}