C# WPF/06
57. WeatherApp - MVVM(2)
57. 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 ..
55. WeatherApp - MVVM(1)
55. 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 ..
54. WeatherApp - View
54. 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"> ..
53. WeatherApp - ViewModel
53. 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 (요청)..
52. WeatherApp - Model
52. WeatherApp - Model
2024.11.271. MVVM - Model더보기1.MVVC 패턴은 Model, View, ViewModel 로 소스코드의 역할을 분할한 것입니다. 언제나 하는 이야기지만, 프로그램은 '데이터'와 '로직' 단 두가지만으로 이루어집니다.기본 자료형 → 복합 자료형 → 사용자 정의 자료형(구조체) → 클래스(구조체 + 함수) > → Model 2.좀 더 단순하게 생각합시다.프로그램은, 데이터와 로직으로 이루어집니다. Model은 자료형입니다. ViewModel은 로직입니다.C언어에서, 기본적인 자료형과 콘솔 출력 로직만으로 프로그램을 구현습니다. WPF에서도 크게 다르지 않습니다.Model과 ViewModel으로 구현하고, UI대신 콘솔에 출력하면 C언어 프로그래밍과 동일합니다. 다른점은, 콘솔 대신 View라는 UI로..
51. WeatherApp - API
51. 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..