Turns out there're just couple of things to add in order to have my original code to work:
Add BindingContext assignment to the behavior;
Set x:DataType to the BindingContext;
Use x:Reference to refer to the parent Image control and set its BindingContext to the behavior.
Hope this could be added to the documentation as this is quite a common scenario.