Behaviors are usually of following types:
- Xamarin.Forms behaviors: classes that derive from the Behavior or Behavior class where T is the type of control to which the behavior should apply
- Attached behaviors: These are static classes with one or more attached properties
- Reusable Behaviors: Behaviors that are reusable across more than one application.
Behaviors are written for a specific control type, and hence, they are supposed to be added only to a compatible control. Attempting to attach a behavior to an incompatible control will result in an exception being thrown.