DeepEarth에서는 지도 조작 시 선택, 이동, 그리기 등 사용자의 조작 모델을 표준화하기 위해 지도의 드래그 앤 드롭 동작을 사용합니다. DeepEarth는 이를 열거형 구조로 지도 컨트롤(Map) 내에 캡슐화합니다. 소스 코드는 다음과 같습니다.
암호
/// <요약>
/// 지도 드래그 앤 드롭 동작
/// </summary>
공개 열거형 DragBehavior
{
/// <요약>
/// 지도 위의 손 모양 아이콘 지점에 마우스를 드래그하면 마우스를 놓는 위치에 마우스를 드래그하면 지도가 표시됩니다.
/// </summary>
팬,
/// <요약>
///지도를 선택하여 지도에 윤곽 그래픽을 그리고 마우스를 놓으면 지도가 확대되어 표시됩니다.
/// </summary>
선택하다,
/// <요약>
/// 지도에 그래픽을 그립니다.
/// </summary>
그리다
}
DeepEarth의 드래그 앤 드롭 동작은 기본적으로 마우스 드래그 앤 드롭 동작으로 정의됩니다. 사용자가 제시된 지도에서 지도를 조작하면 마우스가 손 모양의 아이콘 지점으로 바뀌고 지도 위에서 지도를 드래그합니다. .마우스가 드래그를 놓으면 지도는 드래그할 마우스를 놓는 지도 위치를 지정합니다. 기본 끌어서 놓기 동작은 소스 코드에 다음과 같이 정의되어 있습니다.
//지도 드래그 앤 드롭 동작
개인 DragBehavior _DragMode = DragBehavior.Pan;
위에서 지도의 드래그 앤 드롭 동작에 대해 간략하게 설명했습니다. 개발 시 지도의 드래그 앤 드롭 동작을 실험적으로 사용하는 방법을 살펴보겠습니다. 버튼을 클릭하여 지도 드래그 앤 드롭 동작 기능을 해제합니다.
암호
/// <요약>
/// 지도의 드래그 앤 드롭 동작 변경
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
개인 무효 btnDragBehavior_Click(객체 전송자, RoutedEventArgs e)
{
//현재 지도의 드래그 앤 드롭 모드를 결정하여 두 모드 사이를 전환합니다.
스위치(mapInstance.DragMode)
{
사례 Map.DragBehavior.Pan:
mapInstance.DragMode = Map.DragBehavior.Select;
ToolTipService.SetToolTip(btnDragBehavior, "선택 확대/축소 모드로 전환");
btnDragBehavior.Content = "선택";
부서지다;
사례 Map.DragBehavior.Select:
mapInstance.DragMode = Map.DragBehavior.Pan;
ToolTipService.SetToolTip(btnDragBehavior, "드래그 앤 드롭 패닝 모드로 전환");
btnDragBehavior.Content = "끌어서 놓기";
부서지다;
}
}