2011-10-28 2 views
1

컨트롤 (이 컨트롤은 WinForms, WPF 또는 Silverlight 일 수 있음)에서 발생하는 이벤트 (MouseMove, MouseDown, KeyDown, ...)를 캡처해야하는 컨트롤러가 있습니다. 이러한 일반 컨트롤러를 구현할 수있는 방법이 있습니까? WF, WPF 및 Silverlight 공통 이벤트 처리기

*

는 ChrisBD 추가 *

배경 : I는 MVC 애플리케이션이 난 IGeneralControl에 대한 액세스를 갖는 제어기 (GeneralController)를 갖는다. 이 IGeneralControl은 WPF, WF 및 Silverlight 특정 컨트롤 (WFControl, WPFControl, SilverlightControl)에 의해 구현됩니다. 내가 성취하고자하는 것은 WFController, WPFController 및 SilverlightController를 구현할 필요없이 GeneralController 레벨에서 컨트롤의 델리게이트에게 코드를 추가 할 수 있도록하는 것입니다.

+1

컨트롤러가있는 응용 프로그램 내에서 생성 된 이러한 이벤트를 캡처하거나 생성 된 모든 이벤트를 캡처하는 것을보고 있습니까? 데스크톱, 다른 프로그램? – ChrisBD

+0

MVC 응용 프로그램이 있고 IGeneralControl에 대한 액세스 권한이있는 컨트롤러 (GeneralController)가 있습니다. 이 IGeneralControl은 WPF, WF 및 Silverlight 특정 컨트롤 (WFControl, WPFControl, SilverlightControl)에 의해 구현됩니다. 내가 성취하고자하는 것은 WFController, WPFController 및 SilverlightController를 구현할 필요없이 GeneralController 수준에서 컨트롤의 대리자에게 내 코드를 추가 할 수 있도록하는 것입니다. – paccic

답변

1

저는 전문가가 아니지만 당신이 모든 GeneralController를위한 몇몇 작업으로 이것을 할 수 있다는 사실을 회의적으로 말입니다. WPF/Silverlight는 정적으로 선언 된 라우트 된 이벤트를 사용하여 매우 다른 이벤트 모델을 사용합니다.

WFController와 별도의 WPF/Silverlight 컨트롤러를 구현해야한다고 생각합니다.

+0

나도 그렇게 생각한다. .. 그러나 단지 확실하게하고 싶었다. – paccic

+1

GazTheDestroyer에 동의합니다. WF 또는 WPF 컨트롤로 구성된 응용 프로그램에서 비슷한 문제가 발생했으며 컨트롤러에서 WF 및 WPF 이벤트를 지원할 수있는 방법을 찾지 못했지만 이것이 가능하지 않다고 생각합니다. 같은 이벤트를 어떻게 든 사용할 수 있다고해도 모든 이벤트 인수는 완전히 다른 네임 스페이스에서 온 것입니다. 예 : MouseEvent : System.Drawing.Point 대 System.Windows.Point 결국 두 개의 다른 컨트롤러를 구현했습니다. – SvenG

+0

이벤트 처리기 및 이벤트 인수에 대한 래퍼를 사용하여이 작업을 수행 할 수 있습니다 ... 그러나 이것은 많은 두통입니다. – paccic

관련 문제