2016-07-19 1 views
0

PointerPrelease, PointerReleased (모든 포인터 이벤트) 작업을 수행 할 수 없습니다.Windows Universal App의 inkCanvas에서 이벤트 핸들러가 작동하지 않습니다.

내가 터치에게 내가 온라인으로 볼 솔루션에서

inkCanvas.InkPresenter.InputDeviceTypes = CoreInputDeviceTypes.Mouse | CoreInputDeviceTypes.Touch; 

을 지원하는 코드 줄을 작성했습니다, 나는 시도이

inkCanvas.PointerReleased += inkCanvas_PointerReleased; 

inkCanvas.AddHandler(PointerReleasedEvent, new PointerEventHandler(inkCanvas_PointerReleased), true); 

및 단순히 XAML을 통해서도 가능합니다.

 <InkCanvas x:Name="inkCanvas" 
PointerPressed="inkCanvas_PointerPressed" 
PointerMoved="inkCanvas_PointerMoved" PointerReleased="inkCanvas_PointerReleased" 
Tapped="inkCanvas_Tapped"> 

내 장치에서 (에뮬레이터가 아닌) 앱을 테스트하고 있습니다. 내가 누락 된 것이 무엇인가?

+0

[properties] (https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.input)에 대한 구문'Windows.UI.Core.CoreInputDeviceTypes. *** '이 없습니다. inking.inkpresenter.inputdevicetypes.aspx). –

+0

@ChrisW. 'Windows.UI.Core'는'using' 문을 통해 포함되므로 문제가 아닌 것으로 믿습니다. – saira

답변

2

고려해야 할 사항이 거의 없습니다. InkCanvas를 선언 할 때 UIElement가 예상 할 수있는 입력 유형을 알려야합니다. 일반적으로 사용되는 3 가지 유형이 있습니다.

CoreInputDeviceTypes.Mouse (Desktop/Notebooks without touch capability) 
CoreInputDeviceTypes.Pen (Surfacebooks and other pen enabled devices) 
CoreInputDeviceTypes.Touch (all other devices that accept Touch) 

그래서 InkCanvas에 선언되어 있는지 확인해야합니다.

일단 완료되면 XAML에서 호출 할 때 pointerevents가 실행되는지 확인하십시오. 그래도 작동하지 않으면 아래에서 시도하십시오.

CoreInkIndependentInputSource core = CoreInkIndependentInputSource.Create(inkCanvas.InkPresenter); 
core.PointerPressing += Core_PointerPressing; 
core.PointerReleasing += Core_PointerReleasing; 
core.PointerMoving += Core_PointerMoving; 

편집 2 : 다음은이 도움이 3 개 행동

 private void Core_PointerMoving(CoreInkIndependentInputSource sender, PointerEventArgs args) 
     { 
      throw new NotImplementedException(); 
     } 

     private void Core_PointerReleasing(CoreInkIndependentInputSource sender, PointerEventArgs args) 
     { 
      throw new NotImplementedException(); 
     } 

     private void Core_PointerPressing(CoreInkIndependentInputSource sender, PointerEventArgs args) 
     { 
      throw new NotImplementedException(); 
     } 

희망의 방법이 있습니다.

+0

'Core_PointerReleasing'은 어떻게 사용합니까? 그대로 사용하면이 시점에서 오류가 발생합니다 – saira

+0

어떤 오류가 발생합니까? – AVK

+0

' 'Core_PointerReleasing'에 대한 오버로드가 델리게이트와 일치하지 않습니다 'TypedEventHandler '\t DrawingDataCollection '이 erroe – saira