블로그 이미지
isili

Oh!!!

Rss feed Tistory
분류없음 2016.03.24 20:19

TEST2

TEST
저작자 표시
신고
이것저것! 2011.06.19 03:51

정리정리 한다하는데...

정리정리 한다하는데...
못하고 있다.

이런 저런 핑계를 대가면서 -_-;;

필요성은 많이 느끼는데 말이지.. ㅋ
저작자 표시
신고
이것저것!/Silverlight! 2011.04.17 14:53

Silverlight! 현재 레이아웃에서 내 위치(객체, 마우스좌표)는 어디인가!?


오래만의  포스팅입니다.
최근 진행하고 있는 프로젝트에서 사용하고 있는 코드 중에 유용한 부분이 있어 공유합니다.

실버라이트로 작업을 하시다보면 당연스럽게 컨텍스트 메뉴, 팝업 메뉴를 어디 위치에 띄워야 할지 고민이 생기실 텐데요. 레이아웃의 센터에 띄우는 것도 방법이겠지만, 내가 이벤트를 발생시킨 객체위에 띄우고 싶을 경우 대체 어디에 띄워야 할지 고민이 많이 드실 겁니다.

이럴 경우를 대비해서 저는 아래와 같은 코드를 준비해서 복붙 신공을 사용 중에 있습니다.

   GeneralTransform gt = UPS(현재 위치를 찾고하는 객체).TransformToVisual(해당 포함하고 있는 레이아웃);
   Point offset = gt.Transform(new Point(0, 0));

UPS는 현재 위치를 찾고하는 객체 입니다. 조금 더 이해를 쉽게하기 위해 아래와 같은 이미지를 준비해보았습니다.



빨간색이 레이아웃이고 검정색 테두리가 UPS 객체 일떄 해당 레이아웃(빨간색 영역)에서 UPS가 위치한 곳은 어디인가를 구할 때, 위와 같은 코드를 이용하시면 정말 편리합니다.

Mousemove 이벤트 핸들러를 이용해서 현재 마우스의 위치에 팝업, 컨텍스트 메뉴를 띄우시는 것도 방법이긴 한데 약간 불필요한 이벤트 발생이 많을 것 같아 그리 효율적인 방법으로 생각되진 않더라구요.

쨋든 위와 같은 방법을 이용하면 원하는 레이아웃에서 찾고자 하는 객체의 위치를 나름 효율적으로 찾을 수 있습니다.

그럼 이만! ㅋ - 마우스 좌표를 정확히 구하는 것은 아닌데, 해당 키워드로 많은 분들이 찾으실 것 같아 제목에 넣어 봤습니담! ㅋ


저작자 표시
신고
1 2 3 4 5 ... 17
TOTAL 30,984 TODAY 4

티스토리 툴바