C# 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의 동..
10. DataContext
10. DataContext
2025.03.271. DataContext 사전 학습 더보기1) DataBinding, 2) SOLID 를 학습했다는 가정하에 진행합니다. 2. DataContext 실습 예제더보기이전 DataBinding 예제를 사용합니다. 3. OOP 구조더보기1. 목적 가장 먼저, OOP(객체 지향 프로그래밍 언어)의 객체간 구조에 대해 이해하고 진행합니다. 2. 모든 프로그램의 시작점 C# WPF Main( ) 함수는 어디에 있을까요?모든 프로그램의 시작은, Main( ) 함수입니다. 3. OOP란? >> 프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라, 프로그램을 수많은 '객체(object)'라는 기본 단위로 나누고 이들의 상호 작용으로 서술하는 방식이다. *객체(object)는 Class 라는 자..
4. Data Binding 예제
4. Data Binding 예제
2025.03.221. 예제 파일 준비더보기이전 포스트에서 작업했다면, 아래 파일은 필요 없습니다.2. Two Way 더보기1. 개념 1. Two Way 데이터 바인딩이란?[ C# 소스코드→ XAML UI ], [ XAML UI → C# 소스코드 ] 양방향으로 할당(수정) 가능한 설정이다. 2. Data Binding. 데이터 바인딩.>> Data를 UI와 묶는다.>> Data(원본), UI(복사본, 원본에 종속된 상태)>> 원본을 변경하면, 복사본이 변경된다.>> 복사본을 변경하면, 원본이 변경된다. 2. Two Way 데이터 바인딩 구현 3. Two Way (C# 소스코드에서 UI로, UI에서 C# 소스코드)로 데이터 바인딩 3. One Way더보기1. 개념 1. One Way 데이터 바인딩이란?데이터의 ..
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"..
2. Data Binding - Model
2. Data Binding - Model
2025.03.221. Data, Class, Model더보기1. 프로그래밍 그리고, 언제나 하는 말이지만, 프로그램은 '데이터'와 '로직' 단, 2가지만 존재합니다.이 중, 데이터는 자료형이라는 기준으로 관리됩니다. 2. 자료형 자료형을 사용하는 이유와 원리는 생략하고, 자료형의 종류에 대해 살펴봅니다. 1. 기본 자료형2. 복합 자료형3. 사용자 정의 자료형 (Enum, Struct, Class, Model) 3. 사용자 정의 자료형 기본 자료형은, 데이터 하나를 다룹니다.복합 자료형은, 데이터 여러 개를 다룹니다.사용자 정의 자료형은, 사용자가 원하는 여러 종류의 자료형 여러 개를 조합해 다룹니다. 4. 용어 객체지향 프로그래밍 언어에서, 사용자 정의 자료형을 Class 라고 합니다.Class는 기본..
1. Data Binding - 데이터와 추상화 개요
1. Data Binding - 데이터와 추상화 개요
2025.03.211. "데이터"를 이해해야 하는 이유더보기1. 용어 기술을 배울때 가장 먼저 해야 하는 것은기술 용어의 단어 하나하나의 의미를영어사전, 한자사전에서사전적 정의와 의미를 살펴보아야합니다. DataBinding(데이터 바인딩)은, 용어 그대로 Data를 Binding하는 기술입니다. 그렇기에, 프로그래밍에서 Data 라는 것을 이해하고 있다면, DataBinding은 어렵지 않은 기술입니다.반대로, 프로그래밍에서의 Data를 설명할 수 없다면, Data Binding도 이해하지 못합니다. 2. 목표 1)프로그래밍과, 2)추상화, 3)데이터에 대해 이해합니다.데이터와 4)자료형, 5)프로퍼티, 6)모델로 지칭되는 용어와 관계를 이해합니다. 2. "추상화"를 이해해야 하는 이유더보기1. 용어 WPF, IOS,..
47. WPF Binding
47. WPF Binding
2025.03.181.더보기1. 2. 3. 4. 5.x:Name="predictionsListView" 6.predictionsListView.ItemsSource = predictions; 7. 2.더보기
46. WPF - Json Deserialize Object
46. WPF - Json Deserialize Object
2025.03.171.더보기 2.더보기1.// Json 형태를 살펴보면, Prediction 객체가 3개와 객체별 속성값들이 있다. 2./* * JsonConvert.DeserializeObject(responseString) → CustomVision 객체로 변환 * * JsonConvert는 Newtonsoft.Json 라이브러리의 클래스 * DeserializeObject(string value): JSON 문자열(responseString) >> C# 객체(CustomVision) 변환 * responseString이 JSON 형식의 문자열이라면, CustomVision 타입 객체로 변환 * * * .predictions → List 타입의 예측 결과 리스트 추출 * (CustomVision 클래스 내부에 p..
45. WPF - API - Model 생성
45. WPF - API - Model 생성
2025.03.171.더보기1.{"id":"210288fb-cd8a-43e8-a305","project":"6a990e92-7c43-4b51-bd38","iteration":"25d12112-17f9-4ba2-b2ba","created":"2025-03-17T10:29:05.735Z","predictions":[{"probability":0.9999851,"tagId":"0779af78-c922-4778-84d9-8ec3c7d059a8","tagName":"GoldenGate"},{"probability":1.47126475E-05,"tagId":"5bba7763-8b46-4da4-821e-b97c8c657595","tagName":"EffelTower"},{"probability":2.6075045E-07,"tagId"..
44. WPF - API 연동
44. WPF - API 연동
2025.03.171.더보기1. Custom Vision - Home 2. 3.private void MakePredictionAsync(string fileName){ string url = "입력하세요"; string prediction_key = "입력하세요"; string content_type = "application/octet-stream";} 4.var file = File.ReadAllBytes(fileName); 2.더보기1.private async void MakePredictionAsync(string fileName){ string url = "입력하세요"; string prediction_key = "입력하세요"; string content_type = "ap..
43. WPF 이미지 선택 UI 구현
43. WPF 이미지 선택 UI 구현
2025.03.171.더보기1. 2. Title="MainWindow" Height="350" Width="525"> 2.더보기 1. private void Button_Click(object sender, RoutedEventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "Image files (*.png; *.jpg)|*.png;*.jpg;*jpeg|All files (*.*)|*.*"; dialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictu..
42. Custom Vision AI 학습하기
42. Custom Vision AI 학습하기
2025.03.171. Custom Vision 프로젝트 생성더보기1. Custom Vision - Home 접속 2. 3. 4. 5. 6. 7. Landmarks 프로젝트 생성 완료 2. Custom Vision 프로젝트에 이미지 등록더보기1. 2. 3. 3. Custom Vision 프로젝트에 학습 시작더보기1. 4. Custom Vision 프로젝트에 학습된 모델 테스트더보기1. 에펠탑 테스트 2. 에펠탑 테스트 추가 3. 분류에 없는 이미지 테스트 4. 예측 리스트 확인 5. 학습한 Custom Vision 모델 API 링크 확인하기더보기1. 2. 모델명과 리소스 선택하기 3. API URL 확인하기