[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. [c# wpf] xaml에서 class 초기값 설정 방법 이전 dataContext 포스팅에서는 코드 비하인드 단에서 클래스를 정의하고 아래와 같이 값을 초기화 했습니다. //MainWindow.xaml.cs 그리고 초기값을 xaml상에서 출력하기 위해 DataContext에 해당 클래스를 할당한 후 바인딩을 통해 출력을 했습니다. //MainWindow.xaml 하지만 우리가 이번 포스팅에서 다룰 것은 코드 비하인드 단이 아닌 xaml상에서 클래스 초기값을 설정하는 방법입니다. 이 글을 읽기 전 선수 지식 포스팅 [c# wpf] DataContext란? 왜 쓰는 것일까? [c# wpf] StaticResource란? (DynamicResource 비교) 1. 먼저 기존에 작성했던 초기 값을 지우겠습니다. 2. 태그를 지워줍니다. 3. 태그를 생성하고 그 안에.. c#/wpf 2022. 6. 20. [c#] Action, Func, Predicate 개념/ 차이 c# 에서는 함수를 그냥 변수에 담으려고하면 에러가 발생합니다. 이를 가능하게 해주는것이 델리게이트(delegate)입니다. (델리게이트를 모르시는 분은 해당 포스팅을 참조바랍니다.) 이 글을 읽기 전 선수 지식 포스팅 델리게이트(delegate) 개념 | += , -= [c#] 델리게이트(대리자) 익명 함수로 선언 간단하게 복습을 해보자면, 아래 그림과 같이 델리게이트를 선언한 후, 이 델리게이트로 선언한 변수에 우리가 담고 싶은 함수를 담습니다. 그리고 최종적으로 아래 빨간 사각형 처럼 2가지 방법으로 해당 함수를 실행 시키면 끝입니다! 그런데 여기서 뭔가 불편한걸 못 느끼셨나요? "아니 무슨 함수를 변수에 할당하는데 델리게이트까지 선언해야하지?" 라는 생각이 드실겁니다. 맞습니다. 이러한 문제를 해.. c# 2022. 6. 16. [c# wpf] ListView 내용 편집,수정 하는법(with IValueConverter) 1. 무엇을 배우나요? 이번 포스팅에서는 위 그림과 같이 ListView(리스트뷰)에서 특정 컬럼의 내용을 원하는 형태로 변경하는 방법에 대해 알아 보도록 하겠습니다. 먼저 설명을 위한 기본 UI 세팅 및 예제 코드에 대해 설명하겠습니다. 이 글을 읽기 전 선수 지식 [c#] 인터페이스란? [c#] 박싱(boxing), 언박싱(unboxing) 개념과 사용 이유 2. 기본 UI 세팅 //MainWindow.xaml.cs 1) 업체 정보를 담을 클래스 생성(CompanyInfo) 2) CompanyInfo 클래스를 담을 리스트 생성 3) 리스트에 CompanyInfo 객체 담기 4) 객체들이 xaml에 출력되도록 .ItemSource에 리스트를 할당 여기서 CompanyListView는 LitView 엘리.. c#/wpf 2022. 6. 10. [c#] CallerMemberName 어트리뷰트란? Test2() 함수를 인자 없이 실행 시켜보았습니다. output: 뭔가 이상하지 않나요? Test2함수에는 인자로 name을 받도록 설정했는데, 함수 실행시 인자를 넣지도 않았습니다. 무엇보다 Main이라는 출력값은 어디서 나온걸까요? 이러한 특이한 상황은 CallerMemberName 어트리뷰트를 사용했기 때문입니다. (어트리뷰트개념이 낯선 분들은 해당 포스팅을 참조하시기 바랍니다.) CallerMemberName 어트리뷰트란? 1) 호출자명 인자 사용 CallerMemberName 어트리뷰트 덕분에, 자동으로 호출자(Caller) 이름(MemberName)을 인자로 사용하게 됩니다. 우리 예시에서 Test2함수의 호출자가 누구죠? Main함수죠. 그렇기 때문에 Main이 출력된겁니다. 2) 디폴트 .. c# 2022. 6. 8. [c# wpf] Control Template 란? / 사용방법 (with Style) 이 글을 읽기 전 선수 지식 포스팅 [c# wpf] Style 태그 사용 방법 [c# wpf] Style 상속 방법(with BasedOn) [c# wpf] StaticResource란? (DynamicResource 비교) 왼쪽 그림은 우리가 아는 기본적인 버튼에 빨간 배경색을 칠한 형태입니다. 그런데 우리가 여기서 하고 싶은 것은 태그를 이용해 타원형 형태로 버튼을 바꿔주는 것입니다. 이때 사용하는 것이 바로 ControlTemplate 입니다. 1. Control Template 사용 방법 1) Button.Template로 감싸기 Button 의 모양을 수정 해줄 것임으로 형태의 태그를 먼저 넣어줍니다. 2) 태그 감싸기 다음으로 태그를 넣어 줍니다. 이 안에 우리가 원하는 형태의 도형을 넣어주게.. c#/wpf 2022. 6. 2. [c# wpf] slider(슬라이더) 사용법 (with 데이터바인딩) 이번 포스팅에서는 위와 같이 슬라이드바를 마우스로 움직여 해당 숫자를 아래에 출력 되도록 해보겠습니다. 1. 기본 UI 와 으로 이루어진 아주 간단한 구성입니다. 2. 이벤트 추가 1) 각 엘리먼트의 이름을 지정합니다. 2) 이벤트 추가 슬라이드 변화를 감지하는 속성값으로 ValueChanged를 사용하고 , 저는 sld_ValueChanged라는 이름으로 이벤트 함수를 만들어보았습니다. //MainWindow.xaml.cs(코드비하인드) 이벤트 함수는 위와 같이 작성해줍니다. 하나씩 설명해드리자면, e.NewValue를 통해 변화가 일어날때마다 해당 값을 가져옵니다. 그리고 txt1(TextBox의 이름) Text속성에 해당 값을 할당하기위해 string 형태로 변형해줍니다. 3) min, max 조절.. c#/wpf 2022. 5. 31. [c# wpf] Data Trigger(데이터트리거) 란? / 사용법 (해당 포스팅은 Property trigger 포스팅을 읽고 왔다는 전제로 작성된 글입니다.) 앞서 다루었던 trigger방식이 Property trigger방식이었다면, 이번 포스팅에서 알아볼 trigger는 Data trigger방식입니다. 기능적 차이가 있다면 기존과 다르게 서로 다른 엘리먼트 사이에서 사용하는 방식이죠! 우리 예시에서는 체크 박스를 클릭하면 버튼에 스타일이 적용되는 UI를 만들고 싶습니다. 1) 먼저 아래와 같이 CheckBox에 x:Name을 추가해줍니다. 이 x:Name은 추후 트리거와 연결을 위해 사용됩니다. 2) 다음으로 기존에 작성했던 Trigger태그를 DataTrigger로 수정합니다. 3) 기존에 Property로 설정되어 있는 부분을 바인딩을 적는 부분으로 대체합니.. c#/wpf 2022. 5. 31. 이전 1 ··· 17 18 19 20 21 22 23 ··· 32 다음