프로그래밍/C#
-
WPF MVVM 패턴을 이용한 To Do List 만들기프로그래밍/C# 2021. 11. 27. 20:51
안녕하세요 까치 입니다. 오랜만에 글을 쓰는 것 같습니다. 요즘 회사일에 지쳐 공부를 뒷전으로 미루고 있었는데 이제는 공부를 해야 할것같아 WPF를 익숙하게 다룰수 있도록 공부를 하고 있습니다. 그런김에 ToDoList 를 MVVM패턴을 이용해 한번 만들어봤습니다. 바로 살펴보도록 하죠 일단 완성된 화면은 이렇게 되었습니다. 일단 화면 전체를 grid row속성을 이용하여 3등분 하였습니다. First Row - 일정을 model에서 불러오는 기능을 넣었습니다. Second Row - ScrollViewer를 이용하여 리스트를 스크롤 단위로 살필수 있도록 하였습니다. Third row - 일정 제목을 넣을 제목과 일정 등록을 할 수 있는 내용을 넣었습니다. 그리고 중요하게 봐야 할게 첫번째 와 세번째 버..
-
c# using 문 사용 법 사용 이유프로그래밍/C# 2019. 11. 22. 21:52
c# using 문 사용법 사용 용도 2가지 1. 지시문 상단에 using을 사용하여 import 외부 dll파일을 사용할 수 있다. using System.Text; using project = PC.MyCompany.Project; 별칭 2. 문장 개체 범위를 정의 할때 사용한다. 그 범위를 벗어나면 자동으로 dispose(처분)된다. file, font, DB의 같은 경우에 사용할 때 일정부분의 메모리를 잡아 먹는데 이부분에서 컴퓨터의 자원이 할당 되는 것입니다. 메소드나 어떤 형식의 로직이 끝날 때 이부분을 다시 반납해야 성능이 개선되고 프로그램의 문제가 발생하지 않습니다.곧 좋은 프로그램이 된다는 얘기 이죠. 그런데 이 부분을 많이 남발하면 가독성이 떨어지기 때문에 성능에 또한 좋지 않아 집니다..
-
C# Dictionary 사용 예제프로그래밍/C# 2019. 11. 22. 21:47
dictionary는 키와 밸류 쌍으로 값을 보유하고 있는 것 (web 에서 많이 쓰는 Json이라고 보면 됨) dictionary[키] 로 값을 불러 올 수 있음. 1.dictionary 에 값 추가 Dictionary dictionary = new Dictionary(); dictionary.add("cat",2); 2. Contians 사용하기 containsKey("키") 로 값이 있는지 없는지 판단하여 boolean값 반환 if(dictionary.ContainsKey("키") ---- boolean 값 반환 { int value = dictionary["apple"]; Console.WriteLine(value); } 3. tryGetValue() 사용하기 tryGetValue메소드를 사용하여..
-
c# Winform 입출력 폼 만들기(MessageBox 속성 설정(Attribute), label Text 함수, Focus() 함수)프로그래밍/C# 2019. 11. 5. 08:06
안녕하세요 C#을 공부를 시작했습니다. 처음에는 어려운 부분도 있지만 그래도 조금씩 나아질려고 노력하다 보니 실전 프로젝트를 하면서 실력을 키워 볼까 합니다. 그래서 포스팅을 하게 되었내요 오늘을 입출력 내용에 대해 알아 보겠습니다. 입력한 문자를 받아 레이블에 내용을 추가하여 변형 해주는 내용인데 입출력은 가장 간단하면서 처음에 배워야 하는 내용이겠죠? 자 그럼 시작 하겠습니다. 처음 코드 입니다. namespace TestWinform { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } string result ..
-
WPF ICommand 구현 실습 MVVM프로그래밍/C# 2019. 11. 3. 08:02
앞에 내용은 INotifyPropertyChanged 포스팅을 이용해 주세요. https://magpienote.tistory.com/52 ICommand는 MVVM패턴에서 ViewModel단에서 사용자 정의 함수를 구현하기 위해서 정의 해 놓는 곳입니다. 먼저 필요한게 구현한 내용과 delegate를 이용한 ICommand를 구현해 놓는 것입니다. 소스를 보시죠. public class ViewModel : Notifier { string title = "D-day를 새볼까요?"; public string Title { get { return title; } set { title = value; OnPropertyChanged("Title"); } } int num = 0; public int Num ..
-
WPF INotifyPropertyChanged 구현 실습프로그래밍/C# 2019. 11. 2. 13:45
안녕하세요 까치 입니다. 이번 포스팅은 WPF에서 아주 중요한 INotifyPropertyChanged에 대해 알아 보겠습니다. WPF는 MVVM패턴을 이용하기 위해 반전되온 개발 프로그램입니다. Winform의 한계를 넘어 보려고 View단을 직접 조작하게끔 만들어 놓은 것이지요. 그래도 많이 사용하진 않지만 사용하긴 한다는거 그래서 이번에 INotyfyPropertyChanged에 대해 알아 보려고 합니다. 1. INotifyPropertyChanged는 무엇인가? WPF를 사용하면 Xaml파일이 보이실 겁니다. 그 부분에서 view단에 해당하는 것으로 Source(Model)를 바인딩을 시켜서 화면에 보여주게 되는데 이바인딩된 값이 바뀔때마다 변하는 것을 인지해주어 백단의 값을 자동으로 바뀌게 해주..
-
WPF MVVM 패턴을 이용한 앱 만들기(MVVM패턴 예제)프로그래밍/C# 2019. 11. 2. 12:42
안녕하세요 까치 입니다. Visual Studio 를 다운 받아서 WPF를 공부를 하면서 WPF는 MVVM패턴을 이용하기가 최적화 되어있다는 것을 알 수 있었습니다. MVVM패턴을 어떻게 이용할 것 인가 에 대해 고민을 엄청 나게 많이 했는데요. MVVM패턴을 어떻게 적용할 것인가에 대해 포스팅을 해 보겠습니다. 먼저, 폴더를 만들어 파일을 나눠줍니다. 1. ViewModel(= StudentViewModel.cs) 2. MainWindow(= MainWindow.cs) 3. Model(= StudentFactory.cs) 처음 보실 부분은 mainWindow입니다. 아무런 내용이 없습니다. MVVM패턴에는 윈도우cs는 사용하지 않는 것이 좋습니다. 구현을 할려고 하면 ViewModel의 데이터가 연동이..