I want to create resuable components, so naturally I want bindings to pass from parent custom view to child and child of child custom views.

To achieve this I don't use MVVM pattern for custom views, but rather use

```cs
BindingContext = this

```

in my custom views constructors.

Of course I would implement BindableProperty for each property I want but oh boy was I surprised by BindableProperty not working at all!
All because of my "BindingContext = this".

Basically each time I have to write my bindings by hands and not by 

```xml
<!-- Label in child view -->
<Label x:Name="InnerLabel" Text={Binding LabelText} />

```

I suspect I'm deeply mistaken somewhere, and there is an easier way to break views into smaller hierarchy of parent-child dependent views, without writing huge amount of boilerplate code like

```cs
InnerLabel.SetBinding(Label.TextProperty, new Binding(... etc etc etc

```

How to write reusable views properly in Xamarin Forms? Why my BindableProperty stopped working with BindingContext = this in my custom views constructors?