분류 전체보기 230

#MVVM 패턴 개요

응용프로그램의 비즈니스 로직과 프리젠테이션 로직을 UI와 명확하게 분리하는데 도움을 준다. 이는 다양한 개발 및 설계 이슈들을 제시하는 데 도움을 주고, 응용프로그램의 테스트와 유지보수를 쉽도록 한다. 뿐만 아니라, 코드 재사용 가능성을 증가시키고, 개발자와 UI 디자이너 간의 협력을 용이하도록 한다. 이 패턴을 사용하면 응용프로그램의 UI와 프로젠테이션 로직 및 비즈니스 로직이 세개의 분리된 클래스로 나뉜다. 즉, 뷰는 UI와 UI로직, 뷰모델은 프레젠테이션 로직과 상태, 모델은 응용프로그램의 비즈니스 로직과 데이터를 각각 캡슐화 한다. 즉, MVVM패턴을 사용하면 뷰와 비즈니스 로직 간의 연결이 느슨해지기 때문에, 뷰나 비즈니스로직 둘 중 하나가 변경이 되더라도 다른 부분에 영향을 미치지 않는다.ㅣ

Programming/Old 2015.07.21

#MVVM 구현

MVVM 패턴의 View와 ViewModel의 구현뷰모델(ViewModel)은 뷰(View)가 필요로 하는 데이터와 커맨드 객체를 노출시키고, 뷰는 이 객체를 이용하여 데이터를 바인딩한다. 뷰에 바인딩 하기 위한 데이터의 타입은 기본적으로 get, set과 같은 접근자만으로 이뤄진 Property 타입이어야 한다.C#에서 뷰모델은 ICommand라는 인터페이스를 이용하여 뷰가 요구하는 각 Command를 정의할 수 있다. 이 때, MVVMBase 라이브러리를 사용한다면 ICommand의 별도 구현없이 바로 Command 객체를 생성할 수 있다. 만약 뷰모델의 데이터가 뷰에 바인딩되어 있고, 사용자가 뷰를 통해 이 데이터를 조작한다면, 뷰모델은 PropertyChangedEventHandler라는 이벤트 ..

Programming/Old 2015.07.21

#ControlTemplate

C#으로 아래와 같이 생긴 뷰를 만들어야 된다. 가장 쉽게 접근할 수 있는 방법이 ScrollViewer인 것 같아서 Blend로 띄워보니 아래처럼 생겼다.파란 네모(실제로는 어떤 컨트롤이 되겠죠?)만 추가하면 되는데 요리조리 Blend와 ListView의 하위 메소드를 뒤져봐도 그런건 나오지 않는다. 스타일 지정 문제인가 싶어 조금 뒤져보니 역시 스타일 문제이다. ControlTemplate를 이용하면 이미 구현되어 있는 View를 필요한 형태로 수정할 수 있다.

Programming/Old 2015.07.19

#ResourceDictionary 사용 시 주의 사항

안드로이드로 개발을 할 때 흔히 볼 수 있는 '매니페스트' 파일.그 파일은 안드로이드 기기와 액티비티 동작과 관련된 상세한 설정들이 적히는 곳이다. WPF에도 그런 곳이 있나보다. 이름만 봐도 App.xaml , App.config 라고 하는 이곳은 당장에는 아니지만, 시간이 지나고 개발이 진행될수록 무엇인가 계속 추가되지 않을까 싶다. 결과적으로는 아래의 사진과 같은 형태로 내용이 계속 추가될 것이다.위 사진에 나오는 App.xaml에는 ResourceDictionary인 Style.xaml이 MergedDictionaries로 추가되어 있다.추가하지 않으면 Button의 Template로 Style.xaml에 있는 btTem이라고 지정된 DynamicResource를 참조할 수 없다. 잊지 말고 꼭꼭..

Programming/Old 2015.07.19

#MVC, MVVM 패턴 메모

MVC 패턴M ( Model ) : 비즈니스 로직과 데이터를 다루는 영역V ( View ) : 프리젠테이션 로직을 담당C ( Controller ) : 사용자의 요청을 받아 적절한 비즈니스 로직을 선택하고 호출하고, 뷰를 통해 그 결과를 보여줌- 디자인과 개발의 영역을 분리 비지니스 로직 : 데이터를 가공 및 수정 . 처리프리젠테이션 로직 : 디자인 구성을 위한 로직 MVVM 패턴MVC에서 컨트롤러가 뷰모델로 교체된 형태, 뷰모델은 UI레이어 아래에 위치뷰모델(ViewModel = VM)은 뷰가 필요로 하는 데이터와 커맨드 객체를 노출 = 데이터와 액션을 담고 있는 컨테이터 객체What is MVVM?- View knows nothing about Model- Model knows nothing abou..

Programming/Old 2015.07.13

# Blend for Visual Studio 2013 에서 Style 지정하기

# Blend for Visual Studio 2013 에서 Style 지정하기만들어놓은 Style 이 없을 때?Style을 지정하고자 하는 뷰에서 오른쪽 클릭 -> Edit Template 선택 -> Edit a Copy... 선택 그럼 위와 같은 새 창이 뜨고 Style Name을 지정하고 OK버튼을 눌러 Style 객체를 생성한다. 오른쪽 작업 창이 다음과 같이 변한 것을 확인할 수 있다.이제 원하는 스타일을 넣으면 된다. # 존재하는 Style을 View에 지정하기오른쪽 버튼에 왼쪽 버튼의 스타일을 적용하기 위해서는 오른쪽 버튼을 우클릭하여 사진과 같은 메뉴를 선택하면 된다.

Programming/Old 2015.07.12

#Visual Studio 2013 단축키

모든 참조 찾기 : shift + F12파일에서 찾기 : ctrl + shift + F 함수 정의만 보기 : ctrl + M, O함수 정의 확장/축소 : ctrl + M, M전채 개요 표시/숨기기 : ctrl + M, L 주석 달기 : ctrl + K, C주석 해제 : ctrl + K, U 자동 함수 생성? tab, tab디버그 시작/다음 중단점 이동 : F5디버그 마치기 : shift + F5중단점 설정 : F9모든 중단점 제거 : ctrl + shift + F9한 단계 씩 코드 실행 : F10프로시져 단위 코드 실행 : F11

Programming/Old 2015.07.10