WPF 사실상 3일만에 끝내기 - 실습#3 (ItemTemplate) 사실 실습2에이어서 실습3는 내용이 똑같다고 보시면됩니다.. 사실 실습3에서 할거를 제가 2에서도 해버리는 바람에 실습3가 좀 의미없게 되었는데.. 그래서 간단히 살펴보고 예제로 다른 추가학습을 할 수 있는 내용을 작성해 보도록 하겠습니다. 위와같이 Discussion 페이지를 추가하고 Grid설정을 위 xaml코드처럼 작성해주시기 바랍니다. 여기서 사용한 '*'은 남은 크기만큼 비율로 자동으로 설정된다는 뜻이며. 여기서는 열과 행의 별이 각각 하나이므로 남은 크기만큼 전부사용하게되겠죠. 만약에 *, 2* 이런식으로 총 *개수가 3개가 된다면, 1/3와 2/3 로 각각 비율대로 설정되게 됩니다. 1*은 *과 동일한 뜻입니다. Margi..
WPF 1주일만에 끝내기 - 실습 #2 NavigationService.Navigate 2번째 실습을 풀이해 보도록 하겠습니다. 이번에는 실습#1에서 만들었던 컨텍트페이지를 메뉴에 연동해서 동작시키도록 하겠습니다. 위와 같이 3개의 메뉴(버튼)가 존재하며 Email Support 버튼을 클릭하게 되면 실습1에서 만들었던 페이지로 이동되게 하면됩니다. 이때 페이지 이동기법은 예시로 인터넷 사이트에서 링크 클릭시 해당 페이지로 이동하는 것과 동일하다고 생각하시면되겠습니다. 일단 메뉴페이지를 추가해서 위와같이 드래그엔 드롭으로 버튼과 텍스트 블록을 추가해주시기바랍니다. 그리고 만얀에 실행한다면 크기가 자동으로 변환되지 않는 문제가 발생합니다. 그래서 위와 같이 코드를 작성해야합니다. Grid는 기본적으로 컨텐..
WPF MVVM 7일만에 배우기 - 실습#1 (page) WPF 일주일만에 끝내버리기 프로젝트.. 실습 넘버원 시작합니다. 위 연습문제는 BikeShop(자전거가게(?))라는 WPF어플리케이션 생성후 Contact.xaml 페이지를 추가하여 나타내준 모습입니다. Contact.xaml 파일에는 TextBox 2개와 TextBlock 2개가 존재합니다. WPF에서는 Winform과는 다르게 텍스트 박스 옆 설명 Text 등을 입력할 때 Label을 사용하지 않고 TextBlock을 사용하는 것을 염두에 두시기 바랍니다. MainWindow에 Contact파일을 띄우면 됩니다. 우선 솔루션에 Contact 페이지를 추가해주고 해당 재믈파일에 드래그엔 드랍으로 위와같이 디자인 해줍니다. (전 괜히 막 만지다가..
WPF - Data Binding (데이터 바인딩) INotifyPropertyChanged지금부터 설명하는(WPF)는 C#,html,sql 에 대한 기본적인 선행학습이 필요합니다. 앞서 설명한 데이터 바인딩은 사실 C#코드에서 데이터 원본을 바꿔주게 되면 UI에 업데이트가 되지 않는 문제점이있습니다. 이는 코드에서 데이터 변경시 UI에도 알림으로써 변경하도록 해주는 작업이 필요합니다. 놀랍게도 이 또한 이미 구현되어있습니다. 바로 INotifyPropertyChanged라는 인터페이스를 구현하면 되는데요? 어떻게 하면 되는건지 지금부터 살펴보도록하겠습니다. 프로퍼티변경시 알림은 위와 같이 인터페이스(interface)를 구현하면 되는데 INotifyPropertyChanged 인터페이스는 이벤트핸들러인..
닷넷(.NET) WPF - 데이터 바인딩 (Data Binding)본 포스팅의 목적은 복습하며 다시 이해하고, 기억상자(망각하면 다시 보고 이해하고 상기하기 위함) 입니다.바인딩이란 무엇일까요? 우선 bind의 뜻부터 보면 묶다,결속하다,연결하다 의 뜻이란것을 알 수 있습니다. WPF에서의 바인딩이란 간단히 말하면 원본데이터가 있고 그 원본 데이터와 화면에 나타난 UI가 서로 연결되어있다면, 원본 데이터가 바뀌면 UI의 내용도 바뀌어야하고 UI의 내용이 바뀌면 원본 데이터가 자동으로 바뀌어야. 즉 서로 동기화 되어야합니다. 이러한 동작을 자동으로 처리해주는 기능이 바로 WPF의 바인딩입니다.(bind, binding). 이 때 원본데이터는 바인딩소스, 바인딩원본 으로 표현되며, 연결된 UI는 바인딩타겟(..
SQL ADO.net 1일차-2 (dbo, 무결성,pk)이어서.. MS SQL Server 2017을 PC에 설치했는데 네트워크 연결이 안되서.. 노트북으로 이어서 수강했습니다.SQL 2014 무료버전을 사용했습니다.빠른 수업진행을 위해서 미리 준비된 Script파일을 사용했습니다. 일반적으로 선택하지 않으면 master가 선택되게 되므로 오류가 뜰 수 있기에 USE 키워드를 사용해서 우리의 DB인 AutoLot을 사용하도록 하는 모습입니다.이때 대괄호([ ])를 붙여서 사용하게 된다면 스페이스를 포함할 수 있습니다. 출력되는 결과는 위사진과 같이 확인이 가능하며, 우리가 Select해준 형태로 나타나게됩니다. Result set 으로 넘어오는 거죠. 또 MS SQL은 끝에 ;를 붙일 수 있습니다. C,..
SQL ADO.net 1일차-1 (관계형데이터베이스 DB 테이블,DML,DDL,DCL)비트교육센터 고급과정 강의정리내용입니다. 빠진내용, 잘못된 내용이 있을 수 있습니다. 올리지못한 네트워크프로그래밍, 윈도우즈 시스템프로그래밍, API(WIn32)프로그래밍, C#, WInform, WPF 등 도 시간나는대로 정리해서 올려보도록 하겠습니다.. 할게너무 많아서 씁슬합니다 ^^;SQL 일반적으로 DB(데이터베이스)라고 하면, DBMS라고 생각하면된다. 왜냐면 DB를 가지고 작업을 할라면 DBMS를 가지고 조작해야 하기 떄문. 없으면 거의 불가능 하기 때문이다. 그래서 DB는 다이렉트로 열지 않고 일반적으로 DBMS로 열게됩니다. 그 것을 처리할때 동일하게 사용할 수 있는 언어,문법이 바로 SQL이다. 결론적으..
전자계산기 구조 논리회로 해설해답순차 논리 회로의 구성은?순차논리회로는 조합회로와 기억소자로 구성됩니다. 조합논리회로에는 가산기 등이 있고 기억소자의 예로는 플립플롭이 있습니다. 또 여기서 플립플롭은 한개당 1비트를 저장할 수 있습니다.JK플립플롭으로 구현하는 D플립플롭 JK플립플롭의 입력선을 하나로묶고 K로 가는 입력선에 인버터를 추가하게되면, 입력 1입력시 J=1,K=0 이됩니다. 혹은 입력 0입력시 J=0,K=1이 되므로 이 두가지 상태를 가지고만 결과가 나오게되며 즉 D플립플롭의 역할을 하게됩니다. 이와 동일하게 RS플립플롭과 인버터 하나만있으면 구현할 수 있습니다.전가산기 전가산기는 로 회로에서 나타나며, 출력식은 입니다. 여기서 는 XOR를 나타내며 두개의 피연산자가 같을경우 0, 다를경우 1..
[C#] 확장 매서드 extend method (라이브러리에 매서드를 추가할 수 있다?) 만약에 우리가 라이브러리를 구매해서 사용하는데 (클래스라고 할께요) 이 클래스에 우리가 원하는 매서드를 추가하면 참 편하게 프로그래밍할 수 있는데 라이브러리는 이미 기계어로 컴파일되어있기에 수정이 참 거의 불가능하죠 그래서 이 때 사용할 수 있는게 바로 C#의 확장매서드(extend method) 기능입니다. 위 코드를 한번 쭉 읽어주세요. Point클래스를 누가 만들어 놓은 클래스라고 가정합니다. 그리고 우리는 Print라는 매서드를 추가해서 사용하고 싶다면, 우선 첫번째로 static 클래스가 필요합니다. 위에서는 AAA클래스가 되겠죠. 그리고 두번째로 public static 매서드가 필요합니다. C#에서는 수..
[C-sharp#] Timers event 타이머 이벤트 사용 C# 중에서 이벤트. 그 중에서 타이머 이벤트에 대해서 알아보겠습니다. 아직 람다를 공부하지 않았기에 아주 간단히 딱 쓰는 방법만 알아보고 추후에 자세히 포스팅하기로 하겠습니다. 타이머는 말 그대로 특정 시간마다 특정 이벤트를 해주는 녀석입니다. 우선 타이머 객체인 t를 생성해주고 new를 사용해서 초기화 해줍니다.(당연?..) 그리고 Timer 필드인 Interval을 설정하는데 이때 1000은 1초를 설정해주는 것 입니다. 그 후에 뭔지모를 람다라는 것을 사용해서 이벤트를 등록합니다. 여기서 등록한 이벤트는 Hello출력입니다. 그리고 Start()매서드를 사용해서 시작해주면 끝입니다. (?) 그럼 위와같이 1초마다 Hello가 출력되는 ..