반응형

프로그래밍 기술/WPF 22

[WPF] 4. 탐색 - 4.2 PageFunction을 이용한 구조적 탐색

[WPF] 4. 탐색 - 4.2 PageFunction을 이용한 구조적 탐색 4.2 PageFunction을 이용한 구조적 탐색 응용 프로그램을 작성하다보면 하나의 기능이 다른 기능과 연계되는 경우가 많이 발생합니다. 탐색을 이용할 때도 하나의 페이지에 있는 요소의 값이 다른 페이지에 전달되고 전달받은 페이지에서 사용자의 선택에 따라 결과를 원래 페이지에 전달해야 할 때가 있습니다. 이러한 탐색을 구조적 탐색이라고 부릅니다. WPF에서는 구조적 탐색을 위해 PageFunction을 제공하고 있습니다. PageFunction은 제네릭 클래스로 제네릭 형식 인수가 필요합니다. PageFunction 항목을 추가할 때는 형식 인수가 string인 형태의 클래스가 만들어집니다. 이는 호출하는 곳에 결과를 반환할..

[WPF] 4. 탐색 - 4.1.4 NavigationService 이용하기

[WPF] 4. 탐색 - 4.1.4 NavigationService 이용하기4.1.4 NavigationService 이용하기 소스 코드에서 조건에 맞는 페이지를 탐색할 때 NavigationService를 사용할 수 있습니다. 하이퍼링크를 이용하여 탐색 요청할 때도 내부에서는 NavigationService의 Navigate 메서드를 호출하여 해당 Page를 탐색을 하는 것입니다. 이를 확인하기 위해 먼저 WPF 응용 프로그램을 생성하세요.[그림 4.10] NavigationService 사용하기 프로젝트 생성 NavigationService를 이용하는 간단한 예를 들기 위해 텍스트 상자에 웹 페이지 주소를 입력하여 하이퍼링크를 누르면 해당 주소로 탐색되는 응용 프로그램을 만들어 볼게요. 여기에서는 웹..

[WPF] 4. 탐색 - 4.1.3 Frame 이용하기

4. 탐색 - 4.1.3 Frame 이용하기 4.1.3 Frame 이용하기 WPF에서 전체 창이 아닌 특정 영역에 원하는 콘텐츠를 탐색하여 배치할 수 있게 Frame을 제공하고 있습니다. Frame을 사용하면 독립 실행 가능한 응용에서도 탐색을 지원할 수 있습니다. Frame에는 표시할 소스 페이지를 설정하기 위한 Source 속성이 있습니다. 개발자가 표시하기를 원하는 페이지를 Frame의 Source 속성에 설정하는 것으로 원하는 결과를 얻을 수 있습니다. 먼저 WPF 응용 프로그램을 하나 만드세요.[그림 4.5] Frame 사용하기 프로젝트 생성 프레임 소스로 사용할 세 개의 Page를 추가하세요. 페이지 이름은 Mainpage, Page1, Page2라고 하겠습니다. 예제로 만들 프로그램은 시작하..

[WPF] 4. 탐색 - 4.1.2 Hyperlink 사용하여 페이지 이동

4. 탐색 - 4.1.2 Hyperlink 사용하여 페이지 이동4.1.2 Hyperlink 사용하기 WPF 응용에서 하나의 페이지에서 다른 페이지로 이동을 하는 가장 단순한 방법으로 Hyperlink를 제공하고 있습니다. Hyperlink에는 NavigateUri 속성이 있는데 속성 값을 원하는 페이지로 설정을 할 수 있습니다. 먼저 브라우저에서 호스팅되는 응용 프로그램 프로젝트 템플릿을 선택하세요.[그림 4.3] WPF 브라우저 응용 프로그램 프로젝트 생성 그리고 Page를 추가하세요. 그리고 새로 추가한 Page2.xaml에 TextBlock을 추가하여 Text 속성을 Page2로 설정하세요. Page1.xaml Page2로 이동 이제 실행한 후에 확인해 보시면 “Page2로 이동” 하이퍼 링크를 누..

[WPF] 4. 탐색 - 4.1.1 Page

4. 탐색 Window는 복잡한 응용을 효과적으로 사용할 수 있게 하기 위해서 다양한 방법의 탐색을 지원합니다. WPF에서는 Page, Hyperlink, NavigationSever, 저널 등을 제공하고 있습니다. 4.1 탐색을 위해 제공하는 것들 WPF 응용 프로그램을 개발함에 있어서 하나의 콘텐츠에 대해 사용자와 상호 작용을 할 수 있는 패키지를 만드는 방법 중에 가장 단순하고 편리한 방법이 Page를 사용하는 것입니다. 4.1.1 Page Page의 경우에는 브라우저에서 호스팅되는 응용에서 많이 사용되며 독립 실행 가능한 응용에서 Frame과 함께 사용할 수 있습니다. Page는 브라우저에서 호스팅되는 응용을 예로 설명할게요. 브라우저에서 호스팅되는 응용 프로그램을 만들기 위해서는 프로젝트 템플릿..

[WPF] 3.4 이벤트 처리

3.4 이벤트 처리 WPF에서도 Windows Form처럼 개체를 생성하거나 활성화 및 비 활성화, 창을 닫히는 시점에 개발자가 원하는 처리를 위해 이벤트 방식을 사용합니다. 여기에서는 몇 가지 이벤트를 처리하는 것에 대해서만 소개를 할 것이며 좀 더 자세한 사항은 MSDN을 참고하시기 바랍니다. 3.4.1 이벤트 핸들러 추가하기 이벤트 핸들러 추가는 xaml 파일에 태그에 이벤트 핸들러를 설정하고 cs 소스 파일에 이벤트 핸들러를 작성합니다. 또한 xaml 파일을 사용하지 않고 cs 소스 파일에서 이벤트 핸들러를 등록하는 코드도 작성할 수 있습니다. [그림 3.3] 이벤트 핸들러 추가하기 통합 개발 환경에서는 뛰어난 인텔리센스를 지원하여 편리하게 개발할 수 있습니다. xaml 파일의 태그에 처리할 이벤..

[WPF] 3.3 Window 기본 속성들

3.3 Window 기본 속성들 여기서는 Window 클래스의 기본 속성들에 대해 살펴보기로 합시다. 작성하려고 하는 목적에 따라 다른 속성들을 사용해야 되는 경우도 많을 것입니다. 3.3.1 WindowStyle Window의 테두리 유형에 해당하는 속성으로 WindowStyle 입니다. WindowStyle의 디폴트 값은 SingleBorderWindow이며 None으로 하면 닫기 버튼을 창에 포함하지 않아 다른 방법으로 창을 닫을 수 있게 구현하는 것이 좋습니다. [그림 3.2] WindowStyle 위젯(Widget)같이 사각형 모양이 아닌 창을 만들려면 WindowStyle을 None으로 설정합니다. 보통 위젯을 만들 때는 반 투명하게 만들 때가 많은데 이를 위해 AllowTransparency..

[WPF] 3.2 Window 속성 변경하기

3.2 Window 속성 변경하기 Window의 속성은 화면에 표시하는 부분을 포함하여 다양한 속성들이 있습니다. 통합 개발 환경에서는 속성 창을 통해 간단하게 설정 값을 확인하거나 지정할 수 있습니다. [그림 3.1] 속성 창 [그림 3.1]에서는 Window의 Title 속성 값을 About Window로 변경하였습니다. 이와 같이 속성 창을 통해 값을 설정하면 xaml의 태그에 해당 속성에 대한 값이 자동으로 설정합니다. Window1.xaml.cs using System.Windows; namespace FirstApplication { public partial class Window1 : Window { public Window1() { InitializeComponent(); Width = ..

[WPF] 3.1 통합 개발 환경에서 기본적으로 제공되는 Window 태그와 소스

3. Window WPF는 Windows Presentation Foundation의 약어로 사용자와 상호 작용하는 응용 프로그램을 만드는 UI 프레임워크입니다. 이전에 Windows Forms을 이용하여 응용 프로그램을 만들어 본 경험이 있다면 이를 익히는 데 큰 어려움은 없을 것입니다. 3.1 통합 개발 환경에서 기본적으로 제공되는 Window 태그와 소스 통합 개발 환경에서 기본적으로 제공되는 WPF 응용 프로그램의 코드를 살펴봅시다. Windows1.xaml.cs using System.Windows; namespace FirstApplication { public partial class Window1 : Window { public Window1() { InitializeComponent();..

[WPF] 2.2 응용 프로그램 수명

2.2 응용 프로그램 수명 독립실행형 응용 프로그램의 수명에 관한 이벤트 발생 순서를 살펴봅시다. 독립실행형 응용 프로그램의 수명 사이클은 Run 메서드로 시작하여 Startup 이벤트가 발생하고 창을 활성화하면 Activated 이벤트가 발생합니다. 창을 비활성화하면 Deactivated 이벤트가 발생, 다시 활성화하면 Activated 이벤트가 발생합니다. 종료할 때 Exit 이벤트가 발생한 후에 Shutdown 메서드를 수행하여 수명을 다합니다. [그림 2.4] 응용 프로그램 수명 사이클 이를 코드로 확인하기 위해 App.xaml 에 이벤트 핸들러를 추가합시다. App.xaml.cs using System; using System.Windows; using System.IO; using System..

반응형