I think that a good way when you "wrap" a "native View", to add custom properties/events which the View does not has, is to write only the new feateures and expose the "native View" (by a method) to allow the developer to set all the other properties, instead of creating in the custom view all the properties already present in the View.
For example: i want a jumping button. Well, I create my custom view, a Button1 inside of it, the jumping method (Public Sub Jump(...)) and a method to get the "base button" (Public GetButton As Button - Return Button1)