2010-01-08 9 views
0

컨트롤이 WebBrowser 인 WPF 응용 프로그램이 있습니다.WPF WebBrowser 컨트롤에서 드래그 중지

현재 사용자는 WebBrowser 내에서 무언가를 선택할 수 있으며 다른 응용 프로그램으로 드래그 앤 드롭하여 내용을 복사 할 수 있습니다.

나는 사용자가이 작업을 중단 할 수 있기를 바랍니다. 나는 내가 잡을 수 있고 취소 할 수있는 "DragStart" 이벤트가있을 것이라고 생각했지만, 그렇게 간단한 것을 찾을 수 없었습니다.

끌기 이벤트 시작을 캡처하고 취소 할 수 있습니까?
더 좋은 방법이 있나요?

답변

1

당신은 IDocHostUIHandler :: FilterDataObject를 구현하고 일반 클립 보드 형식

문서가 준비 될 때까지 WPF 브라우저의 기본 인터페이스에 액세스하지 않습니다를 필터링 할 수 있습니다. WPF 브라우저 클래스에서 작동하는지 확실하지 않습니다. IDocHostUIHandler 구현을 사용자 지정하지 못하게하는 Windows Forms 버그도 있습니다.

당신은 빨리 회신하지 않는 http://www.codeproject.com/KB/miscctrl/csEXWB.aspx

+0

죄송에 설명 된대로 웹 브라우저 액티브 X, 일부 래퍼 클래스를 시도 할 수 있습니다 - 우선 순위가 변경 내가 이것에 대해 잊고 ... 나는 상당히 빈 구현을 가지고있다 내 WPF WebBrowser에서 작동하는 IDocHostUIHandler 인터페이스 - ShowContextMenu() 함수를 구현했습니다. 그러나 FilterDataObject() 구현하는 방법을 잘 모르겠습니다 - 내 시도가 작동하지 않고 무시되고 있습니다. 더 자세한 정보를 제공 할 수 있습니까? – Grhm

+0

확인 http://blog.csdn.net/jiangsheng/archive/2004/03/20/3800.aspx. 그것은 MFC에서, 그래도. 관리 코드에서 구현하는 방법을 모릅니다. 어쩌면 네이티브 C++ 함수를 작성하고 p-invoke를 통해 호출 할 수 있습니까? –

+0

IDocHostUIHandler :: GetDropTarget이 null을 반환하도록하여이 작업을 수행 할 수있었습니다. 그런 다음 FilterDataObject()가 호출되지 않고 끌기가 비활성화됩니다. – Grhm

관련 문제