본문 바로가기

Study122

[WPF][C#][Study] WPF 시작 8일차 1. ItemsControl - Item을 선택할 필요없이 데이터만 보여주기 위한 상황에서 사용하기 좋음 - Item을 선택해야 할 경우에는 ListBox나 ListView를 사용하는 것이 좋음 [예제 1] - 데이터바인딩, 템플릿 사용 - TodoList 1) xmal 2) code-behind using System; using System.Windows; using System.Collections.Generic; namespace WpfTutorialSamples.ItemsControl { public partial class ItemsControlDataBindingSample : Window { public ItemsControlDataBindingSample() { InitializeComp.. 2023. 9. 22.
[WPF][MVVM][Study] MVVM 실습 2 - 단위 변환기 2 이번에는 버튼을 눌러야만 단위를 변환해주는 단위 변환기를 만드는 실습을 해보았다. 1 ~ 3. (실습 1)을 참고하여 기본적인 작업을 참고 4. Command 클래스 생성 및 코드 작성 1) Command 클래스를 생성한다.(프로젝트>추가>클래스) 2) 인터페이스 ICommand를 상속받아서 인터페이스를 구현해준다. 3) 생성자를 이용해 외부의 실행 전 조건을 검사할 함수와 실제로 실행할 함수를 저장한다. // Command.cs using System; using System.Windows.Input; namespace WPF_MVVM_EX_2 { class Command : ICommand { Action ExecuteMethod; Func CanexecutedMethod; public Command.. 2023. 9. 21.
[WPF][C#][Study] WPF 시작 7일차 1. MessageBox - 메세지 창을 띄운다. - 내용 및 제목, ok, yes, no버튼, 기본 버튼 이미지 등을 기본적으로 추가할 수 있다. [예제] 1) xaml Simple MessageBox MessageBox with title MessageBox with buttons MessageBox with response MessageBox with icon MessageBox with default choice 2) code-behind using System; using System.Windows; namespace WpfTutorialSamples.Dialogs { public partial class MessageBoxSample : Window { public MessageBoxSampl.. 2023. 9. 21.
[WPF][MVVM][Study] MVVM 실습 1 - 단위 변환기 MVVM을 만들면서 이해하기 위해 간단한 실습을 해보았다. 아래 블로그를 참고해서 만들었다. https://esound.tistory.com/10 [C# WPF] MVVM 간단하게 시작하기 - 1 (데이터바인딩, 연동) MVVM, Model - View - ViewModel WPF에서 사용할 수 있는 디자인패턴입니다. 이번 글과 앞으로 이어지는 글에서 MVVM을 쉽고 간단하게 사용할 수 있도록 공부하며 배운 내용을 정리하겠습니다. View : 사용자 esound.tistory.com 그럼 지금부터 WPF에서 MVVM 패턴을 이용한 단위 변환기 만들기 설명을 시작하겠다. 1. WPF 시작 - 기본적으로 WPF 앱 프로젝트 파일을 생성한다. 2. 폴더 작업 - 솔루션 탐색기에서 프로젝트 하위에 Model, .. 2023. 9. 20.
[WPF][C#][Study] WPF 시작 6일차 1. 데이터 바인딩 - 두 개의 데이터/ 정보에 대한 소스를 결합하고 데이터 동기화를 유지하는 기술 - source와 destination UI 구성간에 바인딩을 주로 함 - {Binding} 이렇게 중괄호 사이에 넣어서 사용 [예제] [결과] - TextBox의 Name을 txtValue로 설정 - TextBlock의 Text에 바인딩을 시킴 => Binding Path를 Text로 연결 + ElementName을 txtValue로 설정 => TextBlock의 Text가 현재 바인딩 하고 있는 TextBox에 사용자가 적은 Text가 그대로 연결되어 나옴 1-1. DataContext - 바인딩의 기본 소스 - 기본 설정값은 따로 없음(모두 null 값을 가짐) [예제] 1) XAML 2) Code-.. 2023. 9. 20.
[WPF][C#][Study] WPF 시작 5일차 1. ToolTips - 말 그대로 툴팁을 지원하는 컨트롤 - 단순 문자열이 아닌 객체 유형이기 때문에 어느 곳에나 넣을 수 있음 - ToolTipService.ShowDuration 속성을 이용해 표시되는 시간도 조절할 수 있음 Click here! (결과) 2. 텍스트 렌더링 1) TextFormattingMode - Ideal(기본)과 Display 중에서 선택 가능 - 보통 Ideal 설정이 적합하기에 변경하지 않고 그대로 둠 - 매우 작은 텍스트를 렌더링해야 하는 경우에는 Display 설정이 더 나을 수 있음 TextFormattingMode.Ideal, small text TextFormattingMode.Display, small text TextFormattingMode.Ideal, la.. 2023. 9. 19.
[WPF][C#][Study] WPF 시작 4일차 1. CheckBox [XAML] Application Options Enable feature ABC Enable feature XYZ Enable feature WWW [결과] 2. CheckBox - IsTreeState - true, false 외에 null 까지 3가지 상태로 표현하는 방법 [XAML] Application Options Enable all Enable feature ABC Enable feature XYZ Enable feature WWW [Code-Behind] using System; using System.Windows; namespace WpfTutorialSamples.Basic_controls { public partial class CheckBoxThreeState.. 2023. 9. 18.
[WPF][C#][Study] WPF 시작 3일차 1. TextBlock - Margin : 상하좌우로 공간을 띄워줌 - TextTrimming : 문장을 나타낼 방법을 정해줌 - Foreground : 글자 색을 지정해줌 - : 줄 바꿈을 해줌 [XAML] TextBlock의 "LineBreak" 기능을 이용해 문장을 여러 줄로 나눌 수 있다. "TextTrimming"을 "CharacterEllipsis"로 지정하면 남은 문장을 생략형으로 표현해준다. "TextWrapping"을 "Wrap"로 지정하면 자동으로 줄을 나누어준다. [결과] 2. TextBlock - 대표 Inline 기능들 - : 굵게 표시 - : 기울임체 표시 - : 밑줄 표시 [XAML] "Bold"를 이용해 "굵게" 표시 가능 "Italic"을 이용해 "기울임체" 표시 가능 "U.. 2023. 9. 17.
[C#][Study][기초다지기] ref, out의 차이점 1. out - 매개변수를 참조로 전달 - 인수가 초기화 되지 않았어도 전달 가능 - 내부에서 변수에 값을 할당 해주어야 함 2. ref - 매개변수를 참조로 전달 - 인수가 초기화 되지 않은 경우 전달 불가(오류 발생) ex) using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace command { class Program { public static void Out(out int x) { x = 1; // 내부에서 해당 변수에 값을 할당 해주어야 함! x++; // 단독으로는 쓰일 수 없음 } public static void Reference(ref int x) { x++; } sta.. 2023. 9. 16.
[C#][Study][기초다지기] Main함수, 명령줄 인수 Main(string[] args) : 명령줄 인수 - Main() 함수는 프로그램 실행을 시작하는 곳이기에 다른 어떤 메소드에서도 매개변수를 허용하지 않는다. - Command line(명령줄)을 통해 매개변수를 허용하는데 런타임 시 n개의 매개변수를 받을 수 있는 배열형 매개변수를 선언 받는다.(Main(string[] args)) - 명령줄 인수를 사용해보는 두가지 방법이 있다. [사용법 1] cmd로 실제 매개변수 선언 [사용법 2] VS 내에서 디버그 매개변수를 미리 선언 아래의 코드를 두 예시에서 동일하게 사용했다. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace comm.. 2023. 9. 16.
[WPF][C#][Study] WPF 시작 2일차 1. XAML 이벤트 - 마우스 이벤트 - MouseUp : 마우스를 놓을 때 발생 - MouseDown : 마우스를 누를 때 발생 - 이벤트를 생성하는 2가지 방법 1) XAML에서 직접 호출 // 1) 위처럼 MouseUp의 델리게이트를 직접 연결해줌 2) Code-behind에서 델리게이트 추가 using System; using System.Windows; using System.Windows.Input; namespace WpfTutorialSamples.XAML { public partial class EventsSample : Window { public EventsSample() { InitializeComponent(); // 2) Code-behind에서 델리게이트에 직접 추가함 pnl.. 2023. 9. 15.
[WPF][C#][Study] WPF 시작 1일차 1. Hello World를 출력했다! Hello, WPF! 2. XAML - eXtensible Application Markup Language의 약자 - GUI를 묘사하기 위한 Microsoft XML의 한 형태 - 간단하게 GUI를 생성하고 편집할 수 있다는 장점이 있음 - 꺾쇠괄호()에 컨트롤의 이름을 넣어 컨트롤을 생성하고, 끝맺음 태그를 쓰거나 시작 태그에 슬래시를 써서 닫아줘야 함 // 1 // 2 - 대소문자를 구별해주어야 한다. - 각 컨트롤은 속성을 가질 수 있음 - 속성은 두가지 방법으로 표현할 수 있음 // 1번째 방법 // 2번째 방법 Bold A button - WrapPanel을 이용해 여러 하위 요소들을 묶을 수 있음 // 1번째 방법 Bold Multi Color Butt.. 2023. 9. 14.