Page List

2015년 10월 1일 목요일

[WPF] MouseDragElementBehavior

MouseDragElementBehavior는 선택한 요소에 대해서 끌기기능이 가능합니다.

단, MouseClick이벤트를 처리하는 모든 컨트롤
(예:Button, TextBox 및 ListBox)에서는 동작하지 않습니다.
그렇지만, 굳이 해야한다면 할 수 있긴 합니다.

하나 씩 알아보도록 하죠.

자산을 클릭하거나 단축키(Ctrl+.)를 사용하시면 확장리스트가 나오구요.
MouseDragElementBehavior을 드래그 하여 사용할 컨트롤에 안착시킵니다.




화면은 Window에 Rectabgle만 덩그러니 있는 상태에서 ,
MouseDragElementBehavior를 달아주었으며,
그 세부속성이 보이고 있습니다.




ConstrainToParentBounds : 체크하면 부모 컨테이너의 경계를 벗어날수 없게 됩니다.
X : 왼쪽을 기준으로 끌린 위치
Y : 위쪽을 기준으로 끌린 위치




TextBlock 와 CheckBox를 추가하고
mouseDragElementBehavior에 바인딩 후 실행
Rectangle 끌기가 가능해졌으며, 끌기의 값들이 TextBlock에 나타나고,
CheckBox를 체크했을 시, 부모를 넘지 않음을 확인 하실 수 있습니다.




이번에는 버튼을 상대로 해보겠습니다.
버튼은 Click이벤트 때문에 동작하지 않으니까,
버튼에게 부모를 만들어, 그 부모를 움직이게 하는 방법입니다.

그림과 같이 Border를 부모로 만들고, 외곽선, 선색, 커서를 지정해 끌기가 용이하도록 만들었습니다.
실행해보시면, Red부분에 마우스위치하게되면 커서가 바뀌면서 끌기가 가능해집니다.






0 개의 댓글:

댓글 쓰기