Объясните на пальцах если не сложно, что означает this.BindingContext = this
По-умолчанию контекст страницы, куда биндятся контролы, null.
Когда вы ставите BindingContext = new MyViewModel();
То MyViewModel будет контекстом для страницы из которой она будет подтягивать данные.
Контекстом может быть что угодно, ваш кастоиный класс, другой контрол или сама страница или если пишете контрол свой.