반응형

분류 전체보기 2934

[WPF] 5. 레이아웃과 Panel - 5.1 Grid, 5.1.2 cs 소스에서 코드로 배치하기

5. 레이아웃과 Panel - 5.1 Grid, 5.1.2 cs 소스에서 코드로 배치하기5.1.2 cs 소스에서 코드로 배치하기 이번에는 xmal에서 태그를 이용하지 않고 cs에서 소스를 이용하는 방법을 살펴보기로 합시다. 배치하는 것과 앞에서 Xaml 태그로 배치했던 것과 같습니다. [그림 5.3] Grid 사용 예제 실행 화면 먼저 WPF 응용 프로그램 프로젝트를 생성하세요.[그림 5.4] WPF 응용 프로그램 프로젝트 생성 먼저, MainWindow.xaml파일에 선언된 Grid 부분을 모두 제거합시다. MainWindow.xaml.cs using System.Windows; using System.Windows.Controls; using System.Windows.Media; namespace ..

[WPF] 5. 레이아웃과 Panel - 5.1 Grid, 5.1.1 xaml 태그를 이용하여 배치

5. 레이아웃과 Panel - 5.1 Grid, 5.1.1 xaml 태그를 이용하여 배치5.1 Grid Grid는 행과 열을 정의할 수 있으며 자식 UI들을 원하는 행과 열에 배치를 할 수 있으며 필요에 의해 하나의 자식 UI를 여러 행과 여러 열을 채울 수도 있게 해 줍니다. Grid에서는 행과 열이 차지하는 영역을 고정적인 픽셀 뿐만 아니라 비율에 따라 배분할 수도 있습니다. 5.1.1 xaml에서 태그를 이용하여 배치하기 [그림 5.1]과 같은 형태로 배치하는 것을 예를 들면서 설명을 할게요. [그림 5.1] Grid 사용 예제 실행 화면 먼저 WPF 응용 프로그램 프로젝트를 생성하세요. [그림 5.2] WPF 응용 프로그램 프로젝트 생성 먼저, 행과 열을 정의를 해 봅시다. Grid에는 하나의 행..

[WPF] 5. 레이아웃과 Panel

5. 레이아웃과 Panel WPF는 사용자와 상호 작용을 하는 응용을 개발할 때 사용되는 기술입니다. 사용자와 상호 작용을 하는 응용 프로그램에서는 시각적인 사용자 인터페이스를 어떻게 배치를 할 것인지에 따라 편의성에 차이가 생깁니다. 여기에서는 이러한 자식 UI 요소들을 갖을 수 있는 다양한 패널들을 중심으로 레이아웃에 대해 다루고자 합니다. Panel은 WPF에서 UI들을 배치할 때 사용되는 다양한 패널들들에 대한 기반 클래스입니다. Panel에서는 여러 패널에서 공통적으로 필요한 멤버들을 정의되어 있습니다. Panel의 기본 속성에는 높이(Height), 너비(Width), 수평 정렬(HorizontalAlignment), 수직 정렬(VerticalAlignment), 여백(Margin), 배경 브..

[WPF] 4. 탐색 - 4.3 탐색 종합 세트, 마법사

4. 탐색 - 4.3 탐색 종합 세트, 마법사 4.3 탐색 종합 세트, 마법사 WPF에서는 하나의 작업군을 여러 단계를 거치면서 수행을 하면서 각 단계별로 작업한 내용을 유지하기 위한 마법사를 만들수 있는 방법을 제공하고 있습니다. 이를 위해 WPF에서는 NavigationWindow를 제공하고 있는데 NavigationService와 PageFunction을 같이 이용하면 마법사를 만들 수 있습니다. 여기에서는 단계별로 회원의 이름과 나이, 주소를 입력받는 마법사를 만드는 과정을 통해 이에 대해 설명하려고 합니다. [그림 4.14] 마법사 실행 화면 먼저, [WPF 응용 프로그램] 프로젝트를 하나 만드세요.[그림 4.15]탐색 종합 세트 - 마법사 그리고, 회원 정보에 대한 클래스를 간단히 만들어서 사..

[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는 브라우저에서 호스팅되는 응용을 예로 설명할게요. 브라우저에서 호스팅되는 응용 프로그램을 만들기 위해서는 프로젝트 템플릿..

17년 오프라인 활동을 접으며

17년 오프라인 활동을 접으며 안녕하세요. 언제나 휴일, 언휴예요. 오늘 2016년 5월 24일은 저의 오프라인에서 IT 엔지니어 활동을 마감하는 날입니다. 대학 3학년 2학기에 갑자기 불어닥친 IMF와 스타크래프트에 혼이 빠진 생활로 졸업과 함께 백수 생활을 시작했었죠. 다행스러운 것은 지금의 아내가 백수로 생활하지 말고 비트교육센터에 들어가서 교육을 받으라고 권유하여 짧은 백수 생활을 접고 수강생 신분으로 프로그래밍 교육을 받습니다. 이미 대학에서 프로그래밍에는 자신이 있었던 저였지만 리눅스 과정에서 디바이스 드라이버와 커널 교육은 접하지 않은 분야였죠. 이론 과정을 마치고 프로젝트 과정에서도 좋은 조원들과 뜻하지 않은 좋은 주제로 생각지도 못한 결과물을 얻었어요. IBCS(지능형 대역폭 제어 시스템..

반응형