본문 바로가기

Study/C#32

[C#] MVC, MVP, MVVM는 뭐지? 기존에 Winform만 사용하다보니 WPF를 사용하게 될때 Winform과 같이 사용하다 보니 협업시 문제가 생기는 경우가 종종 발생했다. MVVM 이라는 패턴을 잘 사용해야한다고 하여 알아보니 구조 디자인 패턴이라고 한다. 찾아보니 MVC, MVP, MVVM... 등등 다양하게 있는데, 한번 알아보자. 구조 디자인패턴 사전적 의미는 클래스나 객체의 구성을 통해 더 큰 구조로 만들 수 있게 해주는 패턴이다. MVC, MVP, MVVM은 이 구조 디자인 패턴에 들어가 있는 개념으로 이런 디자인 패턴은 개발, 소통 등의 확실한 편리함을 가진다. 그렇다면 MVC, MVP MVVM은 무엇일까? 알아보기에 앞서 왜 디자인 패턴이 필요한지에 대해 생각해보자 현업에서 일을 하다보면 중간에 기획이 변경되거나 디자인 시.. Study/C# 2024. 1. 16.
[C#] WPF - Window, Page, UserControl 정리 #1 WPF를 아무생각없이 사용하고 있었는데 새로운 레이아웃이 필요할때 어떻게 해야하는지에 대해서 명확하지 않아 어떨때 어떤 UI요소를 선택하여 생성해야 하는지 정리해본다. . 1. Window - 애플리케이션의 주 창을 나타낸다. - 여러개의 Window인스턴스로 다중창 애플리케이션 구현이 가능하다 ex) 메뉴, 툴바, 상태표시 줄 등을 포함한 전체 애플리케이션 창을 디자인하는데 사용. 2. Page - WPF 내비게이션 애플리케이션에서 사용되는 UI페이지를 나타낸다. 일반적으로 애플리케이션 내에 페이지간 전환에 사용 - Page는 Frame과 함께 사용되어 페이지를 로드하고 내비게이션 스택을 관리 ex) 다중 페이지 애플리케이션 3. UserControl - 재사용 가능한 사용자 지정 UI컨트롤을 정의한다.. Study/C# 2023. 11. 1.
[C#] DevExpress 사용시 버전 마이그레이션 하는 방법 가끔 DevExpress 사용시 버전을 마이그레이션 해야하는 경우가 있다. 이때 Dev에서는 Project Converter라는 자체 프로그램을 제공한다. 그냥 보이는대로 사용하면 된다. Study/C# 2023. 8. 18.
[C#] WPF에 대해서 알아보자 #3 INotifyPropertyChanged, INotifyCollectionChanged 속성이 변경되기 시작할때 이벤트를 발생시켜야 하는 경우 (이벤트에 대한 응답 또는 웹 서비스에서 오는 데이터..) 로 인해 속성이 변경되면 해당 속성에 바인딩된 컨트롤이 업데이트 되지 않는다. 이때 사용하는 것이 INotifyPropertyChanged이다. 챗GPT를 통해 대략적으로 정리해본내용 ObservableCollection 클래스의 oncollectionChanged 이벤트에 콜렉션 변경시 요청을 추가하여 구현. 아래는 챗 GPT의 응답. INotifyCollectionChanged와 INotifyPropertyChanged는 .NET 프레임워크에서 데이터 바인딩을 구현하는 데 사용되는 인터페이스입니다. INotifyCollectionChanged 인터페이스는 컬렉션에서 항목이 추가, 제거, .. Study/C# 2023. 3. 9.
[C#] WPF에 대해서 알아보자 #2 Binding 기본 개념 및 예제 , 변환기 Converter WPF 는 DataBinding을 제공하는데, DataBinding 이란 UI요소와(.xaml) 소스코드(.xaml.cs)의 데이터를 서로 연결하는 것이다. DataBinding을 적용한 후 Binding한 값이 변경되는 경우 바인딩된 컨트롤 요소가 자동으로 업데이트된다. 기본 개념 바인딩할 요소 및 데이터소스의 특성에 관계없이 각 바인딩은 항상 다음 모델을 따른다. 바인딩의 기본 구성요소 바인딩 대상 개체 / 대상 속성 / 바인딩 소스 / 사용할 바인딩 설정 값 대상 TextBox 대상 속성 Text 원본 개체 Employee 원본 개체 값 경로 Name 으로 구성된다. 하나의 예를 들어보자 class Car{ string speed; string name; } WPF에서 TextBox에 Car 클래스.. Study/C# 2023. 3. 7.
반응형