Surface 개발 ( 현재는 Pixelsense 로 이름이 변경되었죠. ) 을 하다보면
기본적으로 제공되는 SurfaceScrollViewer 에서는 Scroll은 잘 되지만
Scale, Rotate, Drag 과 같은 Transform 관련 조작들이 되지 않습니다.
현재 스마트폰들에서는 당연히 되는 기능이 되지 않아 UX 적인 부분에서 매우 아쉬운 점입니다.
하지만 이미 스마트폰에 젖어 있는 사용자들에게 꼭 필요한 기능이기 때문에
예전에 하나의 마우스로 멀티터치처럼 Scale, Rotate, Drag 를 할 수 있도록
작성해 보았던 소스를 Surface SDK 환경에 맞게 조금 수정하여 Behavior를 만들어 보았습니다.
http://shine10ee.blog.me/10079192174
- IsOnlyContentScale : SurfaceScorllViewer의 Content 사이즈를 변경 여부 속성,
false 일 경우 SurfaceScrollViewer의 사이즈가 변경 됩니다. ( default : false )
- CanScale : 사이즈 변경 속성, Ture일 경우 SurfaceScrollViewer의 사이즈를 변경합니다.
- CanRotate : 회전 속성, True일 경우 SurfaceScrollViewr를 회전시킵니다.
IsOnlyContentScale이 True일 경우 적용되지 않습니다.
- CanDrag : 드래그 속성, True 일 경우 SurfaceScrollViewer의 위치를 변경합니다.
- MinScale : 최소 사이즈 속성, MaxScale 보다 클 경우 MaxScale 로 설정합니다.
- MaxScale : 최대 사이즈 속성, MinScale 보다 작을 경우 MinScale 로 설정합니다.
[ IsOnlyContentScale : True, CanScale : True ]
[ IsOnlyContentScale : False, CanScale : True ]
[ CanRotate : True ]
[ CanScale : True, CanRotate : True ]
[ CanDrag : True ]
[ CanScale : True, CanRotate : True, CanDrag : True ]
SurfaceScrollViewerBehavior.zip
'Window > Surface' 카테고리의 다른 글
[ WPF ] TagVisualization (0) | 2010.07.15 |
---|---|
[ WPF ] Surface LibraryStack & LibraryBar - Drag and Drop (0) | 2010.07.10 |
[ WPF ] Surface LibraryStack & LibraryBar (0) | 2010.07.04 |
[ WPF ] Surface ScatterView (0) | 2010.07.03 |
[ WPF ] Surface SDK 예제 (0) | 2010.07.03 |