Brilliant! I hadn't noticed the type difference there. The namespace thing was more obvious....
Yes, it is inheriting from Canvas, and I have no more errors in the code. Now on to build a test case.