protected override void OnApplyTemplate() { try { container = GetTemplateChild(PART_ROOT_NAME) as Grid; inker = GetTemplateChild(PART_INKER_NAME) as InkCanvas; if (container != null && inker != null) { container.Visibility = Visibility.Visible; InitializeInker(); root = VisualTreeHelperEx.FindRoot(container, false); contentPresenter = VisualTreeHelperEx.FindRoot(container, true); contentPresenter.PointerEntered += Element_PointerEntered; contentPresenter.PointerExited += Element_PointerExited; contentPresenter.PointerCanceled += Element_PointerCanceled; contentPresenter.PointerReleased += Element_PointerCanceled; } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); } }