WPF
11. Command
11. Command
2025.03.2801. Command 이론더보기01.1 ICommand 사용 방법 (1) ViewModel 에 ICommand 구현체를 만들고, 원하는 '메서드'를 등록합니다.MyCommand cmd = new MyCommand(메서드);(2) View에 ICommand 구현체인 cmd를 바인딩 합니다. 01.2 ICommand- 목적: XAML 코드 비하인드가 아닌, 별도의 ViewModel 클래스 파일에서 로직 함수를 구현합니다.- 방법: ICommand 인터페이스의 Execute( ) 함수의 구현부에, 이벤트 핸들러 로직을 구현해 대신 사용할 수 있습니다. 01.3 ICommandICommand는 WPF 컨트롤의 Command 속성에 Binding 하기 위해 사용합니다.위순서도는 ICommand의 동..
3. Data Binding 개요
3. Data Binding 개요
2025.03.221. 목표더보기1.- 우선 MVVM 패턴을 고려하지 않고, DataBinding 개념과 사용법 자체에 집중하고, 이후 추가적인 개념으로 확장합니다.- DataBinding 에서 TwoWay, OneWay 개념을 먼저 이해합니다. 2. 참고1Data Binding C# 소스코드 → XAML UI(원본 → 복사본) XAML UI → C# 소스코드(복사본 → 원본)TwoWayOOOneWayOXOneWayToSourceXOOneTimeO X 3. 참고2 2. UI 준비더보기1. 기본 XAML UI 틀을 가진 프로젝트를 다운받아 실행합니다. 2. 새 WPF 프로젝트에서 "아래 XAML 소스"를 사용하셔도 됩니다. Title="Data Binding" Height="150" Width="265"..
6.6 WeatherApp - MVVM(2)
6.6 WeatherApp - MVVM(2)
2024.11.2901. ICommand더보기01.1 ICommand 용도: 컨트롤 이벤트 핸들러 대체합니다.예) 코드 비하인드 버튼 클릭 이벤트 핸들러를, ViewModel 클래스 로직에서 구현 합니다. 01.2 동작구조CanExecuteChanged 이벤트가 발생하면 CanExecute( )를 통해 컨트롤이 사용가능한지 체크하고UI 사용자 명령이 발생하면 IsEnable이 true로 활성화된 컨트롤은Execute( ) 에 정의된 동작이 실행됩니다. 01.3 ICommand 구현 및 사용방법ICommand 구현체를 MyCommand라고 가정하면아래와 같이, '메서드'를 이벤트 핸들러 처럼 사용합니다.MyCommand cmd = new MyCommand(메서드); 02.더보기02.1 02.2public ..
6.5 WeatherApp - MVVM(1)
6.5 WeatherApp - MVVM(1)
2024.11.2701. 적용 개념더보기01. MVVM 패턴의 전제 조건[유형1] View 컨트롤의 변경 >> ViewModel 의 프로퍼티 변경 >> 바인딩 된 다른 View의 컨트롤 반영 [유형2] API, TCP, DB >> ViewModel 의 프로퍼티 변경 >> 바인딩 된 View의 컨트롤 반영 두 유형 모두, ViewModel의 프로퍼티 변경되는 시점을 기준으로 View 컨트롤에 반영된다. ViewModel의 프로퍼티 변경을 View에 알려주고 연동시키는 기술을 배우는 것이 MVVM 패턴을 구현하는 핵심이다. 01.2 DataBinding OneWay: ViewModel > View TwoWay: ViewModel > View View ..
6.4 WeatherApp - View
6.4 WeatherApp - View
2024.11.2701.더보기01.1 02.더보기02.1 View 폴더 생성 02.2 기본 생성된 Mainwindow 제거 02.3 WeatherWindow 생성 02.4 WeatherWindow XAML 구현 Title="WeatherWindow" Height="600" Width="400"> ..
6.3 WeatherApp - ViewModel
6.3 WeatherApp - ViewModel
2024.11.271. ViewModel더보기프로그램은, 데이터와 로직으로 이루어집니다. C언어에서 기본 자료형들과, 간단한 로직으로 프로그램을 만들었습니다.Model은 자료형입니다. ViewModel은 로직입니다. 복잡한 로직, 프로그램 외부와 데이터(DB, TCP/IP, Serial 등)를 주고받는 로직 모두 ViewModel에서 처리됩니다. 2. ViewModel 폴더 생성더보기학습 과정에서 ViewModel을 확실하게 구분하기 위해 ViewModel 폴더를 만듭니다.ViewModel 폴더와 ViewModel.Helpers 폴더를 만듭니다. 3. ViewModel.Helpers 더보기ViewModel.Helpers 폴더의 AccuWeatherHelpers.cs 에서는, 외부 API 데이터를 Request (요청)..
6.2 WeatherApp - Model
6.2 WeatherApp - Model
2024.11.271. MVVM - Model더보기1.MVVC 패턴은 Model, View, ViewModel 로 소스코드의 역할을 분할한 것입니다. 언제나 하는 이야기지만, 프로그램은 '데이터'와 '로직' 단 두가지만으로 이루어집니다.기본 자료형 → 복합 자료형 → 사용자 정의 자료형(구조체) → 클래스(구조체 + 함수) > → Model 2.좀 더 단순하게 생각합시다.프로그램은, 데이터와 로직으로 이루어집니다. Model은 자료형입니다. ViewModel은 로직입니다.C언어에서, 기본적인 자료형과 콘솔 출력 로직만으로 프로그램을 구현습니다. WPF에서도 크게 다르지 않습니다.Model과 ViewModel으로 구현하고, UI대신 콘솔에 출력하면 C언어 프로그래밍과 동일합니다. 다른점은, 콘솔 대신 View라는 UI로..
6.1 WeatherApp - API
6.1 WeatherApp - API
2024.11.271. AccuWeather 회원가입더보기1. AccuWeather API 웹페이지에 접속합니다. AccuWeather APIs | home AccuWeather APIs | homeExclusions, Conditions and Restrictions of License. Specifically excluded from the License grant relating to the APIs and the API Data are any television type uses such as electronic publishing, database transmissions, side band transmissions, cable castindeveloper.accuweather.com 2. AccuWeat..
27. 윈도우 계산기 - 스타일
27. 윈도우 계산기 - 스타일
2024.11.2601. 목표 더보기01.1 명시적, 묵시적 적용 이해 묵시적(Implicit) - '내포된', 설정하지 않아도, 자동으로 포함되거나 적용된 상태로, "전체 적용" 할 부분에 사용된다.명시적(Explicit) - '명시된', 명시적으로 적어놓은 부분만 적용되는 것으로, "일부 적용"할 때 사용한다. 02. 명시적 예시더보기 02.1 이전 예제에서 적용한 Application.resource 를 주석 처리하고 xaml 에 적용한 background 속성에 정의된 정적 리소스 설정을 제거한다. 02.2Background="{StaticResource operationButtonColor}"Background="{StaticResource numberButtonColor}"검색어 찾아 바꾸기로 제거 03..
26. 윈도우 계산기 - 리소스
26. 윈도우 계산기 - 리소스
2024.11.2601. 목표더보기01.1 윈도우 계산기와, 진행중인 예제의 디자인 비교 01.2 색상코드@웹 확장 프로그램 ColorPick Eyedropper 사용하면 색상을 쉽게 확인할 수 있습니다. 배경색#FFF6F3ED기호 버튼 색#FFFAF9F7숫자 버튼 색White 02. (공통) 버튼 색 변경 방법 확인더보기02.1 등호 기호 배경색 변경❶ 윈도우 계산기의 등호 아이콘은 배경색이 푸른색이다.❷ 버튼 속성의 Brush 탭에서, Backgroud 속성의 ❸ 다섯번째 탭을 선택하면, 기존에 세팅된 색이 보인다.❹ MenuHighlightBrushKey 색을 고르고 저장하면, 자동으로 XAML에 반영된다. 02.2 등호 기호 글자색 변경❶ 윈도우 계산기의 등호 아이콘은 글자색이 하얀색이다.❷ 버튼 속성의 Brush..
24. 윈도우 계산기 - 사칙연산 구현
24. 윈도우 계산기 - 사칙연산 구현
2024.11.2601. 목표더보기01.1 사칙연산, +, -, *, / 구현 01.2 사칙연산 구조 분석필요한 데이터첫번째 입력 피연산자, 연산자 기호 종류, 두번째 입력 피연산자, 피연산자 2개의 계산 결과 02.더보기02.1사칙연산 버튼을 눌렀을 때 동작할, OperationButton_Click 이벤트 핸들러를 구현합니다. private void operationButton_Click(object sender, RoutedEventArgs e) { } 02.2사칙연산 버튼에, OperationButton_Click 이벤트 핸들러를 등록합니다.operationBtn = [plusButton, minusButton, devideButton, multiplicationButton]..
23. 윈도우 계산기 - 기타 버튼 구현
23. 윈도우 계산기 - 기타 버튼 구현
2024.11.2601. 목표더보기 CE(초기화), %(백분율), ⌦(삭제),-(음수) 버튼을 구현합니다. C(Clear)의 의미는 입력된 모든 값과 계산 전체 삭제입니다.CE(Clear Entry)의 의미는 마지막 입력 값의 전체 삭제입니다.⌦의 의미는 마지막 입력 값 중 마지막 입력 1개 부분 삭제입니다. 02. CE 버튼 구현더보기02.1 02.2 resultLabel.Content = "0"; 02.3 실행하여, 동작을 확인합니다. 03. % 버튼 구현 더보기03.1 03.2 double lastNumber; private void percentButton_Click(object sender, RoutedEventArgs e) { ..