WPF Popup! .NET

[ Layerd Window 프로젝트의 Custom Popup ] : IKeyboardPopup -> Keyboard Popup 
- Custom Popup UserControl 생성
    - 비하인드 코드에서 Popup 컨트롤 생성
    - 내부에 DependencyProperty 로 Popup 컨트롤이 가진 속성을 추가
- Custom Popup Class 생성
    - Custom Popup UserControl 생성
    - Attached Property 로 Custom Popup User Control 의 속성을 Attached

==> 이를 View의 컨트롤에서 Attached Property 로 사용

[ Starlight 프로젝트의 DialogPresenter ] : IStarlight -> Starlight 
- ContentControl 을 상속받은 DialogPresenter 클래스 생성
 - Dependency Property 로 속성 정의 (Visible, Title)
 - 리소스에서 ContentPresenter 를 지정해놓고 비하인드에서 DialogPresent 클래스에서 이를 찾아 이 Presenter 의 Content 로 View(ChildView.xaml) 를 지정
 - 또한 이 ContentPresenter 를 Movable 하게 만들기 위하여 DragCanvas 로 ContentPresenter 를 감싸고 있음

[ Target : Public Pop Control 의 조건 ]
1. Layered Window 프로젝트의 동작 처럼 특정 컨트롤의 Attached Property 로 Popup 을 띄울 수 있어야 하며, 속성에서 컨트롤 Targeting이 가능해야 함
2. Starlight 프로젝트 처럼 Dialog 을 이동할 수 있어야 함
3. 속성을 통해서 Movable 속성혹은 Title 속성을 제어할 수 있어야 함

+

예전에 정리했던 내용인데... 이에 더하여 Popup 에 대한 새로운 무언가를 만들려고 했던거 같다.
대규모 프로젝트의 Framework 에서 공통 Popup 이 제공해야 하는 기능들을 정리하다 말았는데, 그만 두긴 했지만 삭제하기 아까워 그냥 올린다.



덧글

댓글 입력 영역