본문 바로가기

Study64

[C#][Study][기초다지기] XOR XOR(^) - 조건이 모두 참 or 모두 거짓 인 경우에만 true 반환 ex) (1 == 0) ^ (1 == 2) => true ex) (1 == 1) ^ (1 == 1) => true ex) (1 == 0) ^ (1 == 1) => false 2023. 9. 23.
[C#][Study][기초다지기] C# 사용자 입력 - ReadLine(), Read() Console.ReadLine(), Console.Read() - 사용자 입력을 읽어오는 함수 - 기본 반환형이 string이므로 int형을 반환하려면 형 변환을 해주어야 한다. // 사용자에게 받아온 문자열 입력을 Int형으로 바꾸는 방법 age = Int32.Parse(Console.ReadLine()); // Parse 사용 age = Convert.ToInt32(Console.ReadLine()); // Convert 사용 cf) 출력 함수 = Console.WriteLine("출력 값") 2023. 9. 23.
[WPF][MVVM][Study] MVVM 실습 3 - 학생 리스트 만들기 MVVM 패턴을 활용해 WPF로 간단한 학생 리스트를 만들어 보았다. 0. 파일 구조 - 파일의 구조는 아래와 같다. 1. View 생성 [xaml] [code-behind] using System.Windows; namespace WPF_MVVM_EX_App { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.DataContext = new ViewModel.StudentViewModel(); } } } - 좌측은 DataGrid를 사용해 학생 목록을 보여주고자 하였고, 좌측에는 선택한 학생의 정보를 보여주고자 하였다. - ViewModel에 DataContext를 연결에 View와 V.. 2023. 9. 22.
[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.