본문 바로가기

WPF

(4)
[WPF] 다른 쓰레드에서 UI 쓰레드 접근하기 많은 UI 구성 요소에서 호출 스레드가 필요하므로 해당 스레드는 STA여야 합니다. 혹은"다른 스레드가 소유하고 있는 오브젝트에 현재 스레드가 접근할 수 없다"(The calling thread cannot access this object because a different thread owns it.)이런식의 오류가 나기도 합니다. 하도 오랜만에 WPF를 해서 감이 없네요;;WPF나 실버라이트에서 타이머는 다른 쓰래드기때문에 UI쓰래드를 접근할때 에러가 납니다. 이럴때는 윈폼과 마찬가지로 인보크를 사용하여 작업을 해야 합니다.(참고 : MSDN - Dispatcher.Invoke 메서드) 간단하게 이포크를 사용할 수 있습니다. Dispatcher.Invoke(DispatcherPriority.Norm..
[WPF] Prism Bootstrapper정의모듈은 독립적으로 개발, 테스트 및 옵션 배포 할 수 있는 기능 패키지 설명많은 상황에서는 모듈이 개발되어 다른 팀에 의해 유지됩니다. 전형적인 프리즘 응용 프로그램은 여러 모듈에서 구축되어 있습니다. 모듈은(예를 들어, 프로파일 관리) 특정 비즈니스 기능을 설명하며, 이러한 기능을 구현하는 데 필요한 모든 뷰, 서비스 및 데이터 모델을 캡슐화하는 데 사용할 수 있습니다. 모듈은 여러 응용 프로그램에서 재사용 할 수 있다.(예를 들어, 로깅 및 예외 관리 서비스를 위한)일반적인 으용 프로그램 인프라나 서비스를 캡슐화하는데 사용할 수 있습니다. Prism이란? 풍부하고, 유연한, 그리고 유지 보수가 쉬운 WPF 데스크탑 응용이나 실버라이트 RIAs, Windows Phone 응용을..
[WPF] Routed Event ◈ Routed Event란?1) 라우트된 이벤트는 이벤트를 일으킨 개체에서만이 아니라 요소 트리의 여러 수신기에서 처리기를 호출할 수 있는 이벤트 형식2) 라우트된 이벤트는 CRL 이벤트의 인스턴스에서 지원되는 RoutedEvet 클래스에서 처리되는 WPF 이벤트 시스템3) 라우트 된 이벤트는 이벤트를 발생시킨 오브젝트가 아닌 요소 트리의 여러 리스너에서 핸들러를 호출 할 수 있는 이벤트 유형4) 기본적으로 Routed Event 클래스의 인스턴스에서 지원하는 CLR 이벤트입니다.5) WPF 이벤트 시스템에 등록 ◈ RoutedEvent 세 가지 주요 전략1) Direct Event 소스 요소 자체만 응답으로 처리기를 호출할 수 있습니다. 이 전략은 Windows Forms에서 이벤트에 사용하는 “라우..
[WPF] MVVM ◈ 정의 WPF는 여러 패턴 중에서도 MVVM 패턴을 사용하여 응용프로그램을 쉽게 작성하기 위해 디자인되었기 때문에 MVVM은 WPF 개발자에게 공영어라고 할 수 있습니다. ◈ 설명 실제로 Microsoft에서는 핵심 WPF 플랫폼이 개발 중인 동안 Microsoft Expression Blend와 같은 WPF 응용 프로그램을 개발하기 위해 내부적으로 MVVM을 사용했습니다. 외형이 없는 컨트롤 모델 및 데이터 템플릿과 같은 WPF의 여러 측면에서는 MVVM이 권장하는 상태와 동작으로부터의 강력한 표시 분리를 활용하고 있습니다. MVVM이 훌륭한 패턴이 되는데 영향을 미친 WPF의 가장 중요한 측면은 데이터 바인딩 인프라입니다. 뷰의 속성을 ViewModel에 바인딩하면 둘 간에 느슨한 연결을 수행하고 ..