2012-12-11 1 views
1

Windows Phone 7.1에서 서명을 캡처하려고합니다.그림 영역에 잉크 프레젠터 자르기

mousemove 이벤트에서 핸들링을 추가하는 것 외에는 InkPresenter 컨트롤로 그리기 영역을 제한 할 수 없습니다.

XAML을 사용하여 그리기 영역을 어떻게 제한 할 수 있습니까? 아니면 불가능합니까?

XAML 코드

<InkPresenter Name="inkTest" Background="White" MinHeight="180" MinWidth="250" /> 

코드 뒤에

private Stroke _currentStroke; 

private void inkTest_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) 
{ 
    _currentStroke = null; 
} 

private void inkTest_MouseMove(object sender, MouseEventArgs e) 
{ 
    if (_currentStroke == null) return; 
     //HACK: want to set this in XAML 
     var position = e.GetPosition(inkTest); 
     if (position.X <= inkTest.ActualWidth && 
      position.Y <= inkTest.ActualHeight) 

      _currentStroke.StylusPoints.Add(GetStylusPoint(position)); 
} 

private void inkTest_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
{ 
    inkTest.CaptureMouse(); 
    _currentStroke = new Stroke(); 
    _currentStroke.StylusPoints.Add(GetStylusPoint(e.GetPosition(inkTest))); 
    _currentStroke.DrawingAttributes.Color = Colors.Blue; 
    inkTest.Strokes.Add(_currentStroke); 
} 

private StylusPoint GetStylusPoint(Point position) 
{ 
    return new StylusPoint(position.X, position.Y); 
} 

답변

2

안된하지만 시도 클리핑 다음 RectangleGeometry

<InkPresenter Name="inkTest" Background="White" MinHeight="180" MinWidth="250"> 
    <InkPresenter.Clip> 
     <RectangleGeometry Rect="0,0,180,250"/> 
    </InkPresenter.Clip> 
</InkPresenter> 

변경 경계를 원하는 모양으로 변경하십시오 (또는 다른 모양이 필요한 경우 RectangleGeometry 요소 자체를 변경하십시오).

+0

안녕하세요. :) – keyboardP