본문 바로가기

Study88

[C#] WPF MVVM 기초 #3 View와 ViewModel 연결하기. 유저컨트롤 리스트를 넘겨서 가변 View를 만들자! 년과 월을 표기해 줄 수 있게 되었다. 그러면 이젠 년월을 기준으로 날짜를 그려줘야 한다. UserControl로 DayPicker라는 컨트롤을 하나 만들었다. 그리고 ViewModel에 UserControl 리스트 DayPickers 를 추가해주었다. private List _dayPickers = new List(); public List DayPickers { get => _dayPickers; set => SetValue(ref _dayPickers, value); } 요곤 만들어진 GetProperty가 아닌 기본적으로 BindableProperty에 있는 SetValue를 사용해보았다. 아무튼 이 UserControl을 View에 보내야 한다. View는 현재 8x7개의 Grid를 그려놨다. .. Study/C# 2024. 1. 25.
[C#] WPF MVVM 기초 #2 View와 ViewModel 연결하기 일반 변수를넘겨보자. 자 지난번 CalendarViewModel이 ViewModelBase를 상속받는김에 ViewModelBase에 대해서 공부했다. 이제 그 ViewModel을 Calender와 연결해보자. 구조 더보기 현재까지 대략적인 완성물 근무시간에 따라 색상을 주어야 하는데 계산이 조금 복잡하여 조금 걸린다. 아무튼. Holiday라는 테이블에 Holiday를 지정하고 분기에 따라 휴일 혹은 근무일을 그려주도록 하였다. ViewModel public class CalendarViewModel : ViewModelBase ViewModelBase를 상속받았다. 지난번 공부했다시피 GetProperty와 SetProperty를 구현하기 위한 추상클래스로 잘 써보자 일단 변수는 두개를 사용하였다. private int _.. Study/C# 2024. 1. 24.
[C#] WPF MVVM 기초 #1 View와 ViewModel 연결하기 ViewModelBase클래스 MVVM이 무엇인가에 대해서는 충분히 공부해봤다. 간략히 복습하자면 느슨한 결합을 통해 View와 model, ViewModel간의 결합을 낮추어 UI와 코드를 한곳에서 처리할 필요가 없고 서로 영향을 주지않는 것 이라는걸 알 수 있다.그렇다면 이제 실전을 해보자. 출퇴근 시간을 기록하기 위한 윈도우 어플리케이션을 만든다고 생각하여 진행할 것이다. 다양한 종류의 변수들을 사용해볼 것이다.프로젝트구조는 다음과 같이 빈 프로젝트를 생성하는것으로 시작한다.  Calendar.xaml라는 이름으로 View와 CalendarViewModel.cs 라는 ViewModel을 만들었다.  나는 사용자 정보를 담는 LoginUser를 추가로 개발하였으나 설명에는 필요가 없다...DevExpress를 사용했으므로 Cale.. Study/C# 2024. 1. 23.
[C#] MVC, MVP, MVVM는 뭐지? 기존에 Winform만 사용하다보니 WPF를 사용하게 될때 Winform과 같이 사용하다 보니 협업시 문제가 생기는 경우가 종종 발생했다. MVVM 이라는 패턴을 잘 사용해야한다고 하여 알아보니 구조 디자인 패턴이라고 한다. 찾아보니 MVC, MVP, MVVM... 등등 다양하게 있는데, 한번 알아보자. 구조 디자인패턴 사전적 의미는 클래스나 객체의 구성을 통해 더 큰 구조로 만들 수 있게 해주는 패턴이다. MVC, MVP, MVVM은 이 구조 디자인 패턴에 들어가 있는 개념으로 이런 디자인 패턴은 개발, 소통 등의 확실한 편리함을 가진다. 그렇다면 MVC, MVP MVVM은 무엇일까? 알아보기에 앞서 왜 디자인 패턴이 필요한지에 대해 생각해보자 현업에서 일을 하다보면 중간에 기획이 변경되거나 디자인 시.. Study/C# 2024. 1. 16.
[Flutter] Flutter blue Plus 1.30.7 버전 기준 연결 예제 안드로이드 권한 업데이트로 인해 블루투스가 잘 안되서 보니 업데이트 많이했음. 따라서 최신 버전에 맞추어 예제를 작성함. (이걸 쓰는 도중에도 1.30.8에서 1.31.3 으로 올랏다;) 내가 사용한 버전은 1.30.8 버전을 사용했다. flutter pub add flutter_blue_plus 를 통해 flutter blue plus를 추가해줬다. 특정 StatefulScreen이 생성될 때 생성한 블루투스 셋팅 매서드를 호출하고 적당히 listen을 해 주었다. listen 하여 나온 리스트를 반복하여 특정 platform 이름을 가진 기기와 연동하였다. 여기서 중요한 문법은 then을 통해 연결된 이후에 추가적인 작업을 진행해 주어야만 한다는것.. 추가로 블루투스의 맥 주소로 연결하도록 변경예정 .. Study/Flutter 2023. 12. 26.
반응형