[c# wpf] command(3) (with CanExecute 사용) (해당 포스팅은 command(2) 포스팅을 읽고 왔다는 전제로 작성되었습니다.) command(1) 포스팅에서, ICommand 인터페이스 구현 메소드 중 하나인 CanExecute는 boolean 값을 리턴하는데 true일때 버튼이 활성화되고 false일때 비활성화 된다라고만 설명하고 넘어갔었죠. 이번 포스팅에서는 CanExecute 함수를 통해 아래와 같은 기능을 구현해보겠습니다. 글자를 입력하기전에는 버튼이 비활성화 상태였다가 글자가 입력되면 활성화되는 로직입니다. //MainWindow.xaml UI단은 기존 코드랑 차이가 없습니다. //MesageViewModel.cs ViewModel 생성자에 정의한 Command 클래스의 인자를 받는 자리가 두개로 늘어났습니다. 새로 생긴 자리에는 AddM.. c#/wpf 2022. 7. 6. [c# wpf] command 개념/사용법(2) (이번 포스팅은 command(1)편을 읽고 왔다는 전제로 작성되었습니다.) 버튼을 클릭하면 text박스창에 입력된 글자가 메세지박스로 출력되는것을 구현해보겠습니다. 이 글을 읽기 전 선수 지식 포스팅 [c#] Action, Func, Predicate 개념/ 차이 [c# wpf] 데이터 바인딩 기초 개념/ 예제 [c#] 박싱(boxing), 언박싱(unboxing) 개념과 사용 이유 //MainWindow.xaml TextBox태그와 태그를 가리키는 이름(messagebox)을 추가해주었습니다. 그리고 CommandParameter라는 친구가 새롭게 등장하는데요. 이 친구는 xaml에서 전달받은 값을 c# 코드로 넘겨주는 역할을 합니다. 예제코드에서는 바인딩을 통해 TextBox로부터 전달받은 값을 C.. c#/wpf 2022. 7. 5. [c# wpf] command 개념/사용법 이번 포스팅은 Command를 이용한 간단한 기능을 구현해 보겠습니다. 포스팅은 코드비하인드단에 이벤트를 구현하는 방법을 확인한 후 Command사용법에 대해 알아보는 순으로 진행하겠습니다. 이 글을 읽기 전 선수 지식 포스팅 [c# wpf] DataContext란? 왜 쓰는 것일까? [c#] 인터페이스란? [c#] Action, Func, Predicate 개념/ 차이 [c#] 델리게이트를 왜 쓸까? 1. 코드비하인드와 xaml 이벤트를 활용한 방법 1) 기본 ui //MainWindow.xaml 버튼에 클릭 이벤트를 등록해줍니다. 2) 이벤트 함수 작성 //MainWindow.xaml.cs 클리할 경우 Message가 나오는 로직을 적어 줍니다. 2. Command를 활용한 방법 기존에 작성했던 부분.. c#/wpf 2022. 6. 30. [c#] sql 연결 오류(CS1069) 혹시 System.Data.SqlClient. 네임스페이스를 추가하였음에도 아래와 같은 에러가 발생하시나요? (CS1069 ~ 'SQlConnection'이 없습니다.) 해당 문제는 패키지가 없어서 발생하는 문제로 Nuget패키지 관리에 들어가 해당 패키지를 다운받아 주시면 됩니다. 1) NuGet 패키지 관리 들어가기 2) System.Data.SqlClient 다운로드 c# 2022. 6. 27. [c# wpf] DataTemplate 사용 방법 (해당 포스팅은 이전 포스팅과 이어지는 포스팅입니다.) 이 글을 읽기 전 선수 지식 포스팅 [c# wpf] StaticResource란? (DynamicResource 비교) [c# wpf] 데이터 바인딩 기초 개념/ 예제 [c#] 오버라이드 ToString은 뭐지? (커스텀) 1 . 기본 layout 작성 와 태그로 구성된 간단한 UI입니다. 잠깐❗️) 여기서 태그에 대해 설명하자면, , 우리가 잘아는 두 태그 모두 Content라는 속성이 있습니다. 이들이 Content 속성값을 사용할 수 있었던건 두 태그 모두 ContentControl을 상속 받고 있기 때문입니다. 즉 태그는 Content 속성값을 사용하는데 있어 가장 raw한 태그라고 보시면 됩니다. 이어서 x:Key명과 {StaticResou.. c#/wpf 2022. 6. 27. [c#] 델리게이트를 왜 쓸까? 아래 예시를 보시겠어요? AddFunc은 Add함수를 델리게이트에 담아 간접적으로 실행한것이고, 다른 하나는 Add함수를 다이렉트로 실행한것입니다. output: 결과는 당연히 같습니다. 그렇다면 델리게이트를 왜 써야 할까요? 이 글을 읽기 전 선수 지식 포스팅 [c#] 델리게이트(delegate) 개념 | += , -= 함수의 인자로 함수를 받기 위함입니다. 함수를 처음 정의할때 매개변수에 타입을 지정해줘야 합니다. 이때 인자로 함수를 받으려면 어떤 타입으로 지정해야할까요? 네, 델리게이트 밖에 답이없죠. 예시를 통해 확실히 이해 해보도록 합시다. 예시) 1) 기본 형태 두 함수가 있습니다. 이 함수들을 실행시키려면 아래와 같이 코드를 작성해야겠죠. 2) 콜백함수 형태 Calculator라는 함수를 정.. c#/wpf 2022. 6. 24. [c# wpf] DataContext 다양한 연결 방법(with binding) 이번 포스팅에서는 DataContext를 연결함에 있어 다양한 방법에 대해 알아보고자 합니다. 이 글을 읽기 전 선수 지식 포스팅 [c# wpf] DataContext란? 왜 쓰는 것일까? [c# wpf] 데이터 바인딩 기초 개념/ 예제 [c# wpf] StaticResource란? (DynamicResource 비교) 1. 왜 굳이 다양한 방법으로 알아볼까요? 이는 제가 구글링하면서 느낀점이기도 한데요. 같은 내용의 코드인데도 불구하고 다른 방식으로 작성된 코드를 전혀 다른 기능으로 착각하는 경우가 왕왕 있기 때문입니다. 무엇보다 하나의 내용을 다양한 관점으로 이해하고 사용가능한것이 정확하게 아는거라 생각합니다. :) 2. 목표 Person 클래스의 프러퍼티로 설정된 값들을 Window 창에 아래와같이.. c#/wpf 2022. 6. 24. [c# wpf] 콤보박스 selecteditem vs selectedvalue 차이점 콤보박스 속성인 selecteditem과 selectedvalue의 차이점에 대해 낱낱이 파헤쳐보도록 하겠습니다. 이 글을 읽기 전 선수 지식 포스팅 [c# wpf] 콤보박스(combobox) 사용방법 [c# wpf] ObservableCollection란? [c# wpf] DataContext란? 왜 쓰는 것일까? 1) 코드비하인드 //MainWindow.xaml.cs (1) Person클래스와 그 Person클래스를 담을 그릇인 People 클래스를 만들었습니다. (2) Person객체들을 담은 People 객체를 DataContext에 할당합니다. (3) 버튼 이벤트 생성 해당 코드는 디버그시 해당 값들이 무엇인지 확인하기 위함입니다. 2) xaml //MainWindow.xaml 간단한 UI를 만.. c#/wpf 2022. 6. 24. [c# wpf] ObservableCollection란? 이번 포스팅에서는 아래와 같이 추가버튼을 누르면 특정값이 계속 추가되는 UI를 만들어 보도록 하겠습니다. 이 글을 읽기 전 선수 지식 포스팅 [c# wpf] 콤보박스(combobox) 사용방법 1. 기본 layout //MainWindow.xaml 리스트에 넣은 값들을 출력하기 위해 ListView를 구현했고, 그 밑에 추가하기 위한 버튼을 넣었습니다. 2. 코드비하인드 //MainWindow.xaml.cs 1) Person 클래스 만들기 2) Person 클래스 객체를 담을 리스트 정의 3) 리스트에 Person객체들 추가하는 함수 정의 4) Person 객체를 담은 리스트를 xaml로 넘김 5) Button 이벤트 추가 버튼을 클릭할때마다 새로운 Person 객체를 만들고 리스트에 추가하는 이벤트 입.. c#/wpf 2022. 6. 24. [c# wpf] 리스트뷰 출력 값에 % 붙히기(간단한 방법) IvalueConverter 관련 포스팅에서 출력값들을 우리 입맛에 맞게 변경하는 법에대해서 알아보았습니다. 하지만 겨우 % 하나붙이는 작업을 하는데 IvalueConverter을 이용하기는 부담스럽니다.. 이번 포스팅에서는 보다 손쉽게 출력값을 수정하는 법에 대해서 배워보겠습니다. 특히 이번 예시에서는 %를 붙히는것을 예제 코드로 준비하였습니다. 이 글을 읽기 전 선수 지식 포스팅 [c# wpf] ListView 내용 편집,수정 하는법(with IValueConverter) [c# wpf] DataContext란? 왜 쓰는 것일까? [c# wpf] 데이터 바인딩 기초 개념/ 예제 우선 간단하게 아래와 같은 값들이 출력되는 UI를 만들어보겠습니다. 1) 코드비하인드단 //MainWindow.xaml.cs.. c#/wpf 2022. 6. 23. [c# wpf] 클래스의 프러퍼티를 콤보박스 아이템으로 넣는 법? 일반적으로 콤보박스 아이템들을 xaml상에 일일이 적어주는 경우가 많은데요. 아래와 같이 특정 클래스의 프러퍼티가 콤보박스에 자동으로 출력되게하려면 어떻게 할까요? 이 글을 읽기 전 선수 지식 포스팅 [c# wpf] 콤보박스(combobox) 사용방법 1) 기본 layout //MainWindow.xaml 우선 ComboBox 태그에 x:Name을 추가해줍니다. 저는 Combolist라는 이름을 넣어줬습니다. 이는 code-behind단에 Combolist.ItemSource = 우리가넣고싶은 배열(or 리스트) 형태로 할당하기 위함입니다. (ItemSource는 배열 형태의 값만 받기 때문이죠.) 그렇다면 여기서 우리가넣고싶은배열(리스트)이 무엇일까요? 바로 클래스의 프러퍼티들이죠. 그럼 이 클래스의 .. c#/wpf 2022. 6. 23. [c# wpf] 콤보박스(combobox) 사용방법 이번 포스팅에서는 아래의 기본 콤보박스를 두가지 방법으로 만들어보겠습니다. 첫번째 방법은 xaml만을 이용하는 방법, 두번째 방법은 코드 비하인드단(c#) 에서 바인딩을 이용하는 방법입니다. 이 글을 읽기 전 선수 지식 포스팅 [c# wpf] DataContext란? 왜 쓰는 것일까? [c# wpf] 데이터 바인딩 기초 개념/ 예제 1.콤보박스 만들기 1) xaml만 이용 먼저 태그로 감싸고, 그 안에 원하는 아이템을 안에 넣는 형태로 작성합니다. 2) 코드 비하인드단(c#) 이용 (1) DataContext로 바인딩 //MainWindow.xaml 기존에 작성했던 태그들은 다 지워주고 ItemSource라는 속성값에 {Binding ColorList}를 넣어줍니다. (데이터 바인딩을 모르시는분은 해당 .. c#/wpf 2022. 6. 20. 이전 1 2 3 4 5 6 ··· 8 다음