private new void Initialize ()
{
// FIXME this should not be handled using Events.AddHandler, since those handlers are removable via the plugin
// hook up the TemplateApplied callback so we
// can notify controls when their template has
// been instantiated as a visual tree.
Events.AddHandler (this, EventIds.FrameworkElement_TemplateAppliedEvent, template_applied);
if (OverridesLayoutMethod ("MeasureOverride"))
measure_cb = new MeasureOverrideCallback (InvokeMeasureOverride);
if (OverridesLayoutMethod ("ArrangeOverride"))
arrange_cb = new ArrangeOverrideCallback (InvokeArrangeOverride);
if (OverridesGetDefaultTemplate ())
get_default_template_cb = InvokeGetDefaultTemplate;
loaded_hook_cb = InvokeLoadedHook;
NativeMethods.framework_element_register_managed_overrides (native, measure_cb, arrange_cb, get_default_template_cb, loaded_hook_cb);
}