C#

· C#/WPF
✍ 사용자 정의 컨트롤 생성 💻 LoginControl.xaml 생성 (사용자 정의 컨트롤) 💻 SignupControl.xaml 생성(사용자 정의 컨트롤) 💻 ChangePwdControl.xaml 생성(사용자 정의 컨트롤) ✍ ViewModel 생성 💻 LoginControlViewModel using CommunityToolkit.Mvvm.ComponentModel; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SunjeongTalk.ViewModels { [ObservableObject] public partial cl..
· C#/WPF
💻 NuGet 패키지 추가 ✔ CommunityToolkit,Mvvm ✔ FontAwesome6.svg ✔ Microsoft.Extensions.DependencyInjection ✔ Microsoft.Xaml.Behaviors.Wpf ✔ MySql.Data 💻 의존성 주입 using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Linq; using System.Threading.Tasks; using System.Windows; namespace SunjeongTalk { /// /..
· C#/WPF
✍ 데이터 바인딩이란? Control 혹은 Element를 데이터에 연결시키는 기술이다.
· C#/WPF
✍ 의존 프로퍼티, 의존 속성 기존의 닷넷 Property에 WPF 요소를 가미하여 새롭게 탄생 XAML, C# 코드 비하인드에서 사용 가능하며 의존속성 값이 변경되면 자동으로 어떤 것을 로드되게 하거나 렌더링 되도록 할 수 있는데 애니메이션, 스타일링, 데이터바인딩 등에 자주 사용된다. 어떤 속성을 애니메이션 시켜야 하거나 데이터 바인딩을 하려면 그 속성은 반드시 의존 속성이어야 한다. 기본으로 제공되는 UI컨트롤은 대부분의 속성이 의존 속성으로 되어 있다. FrameworkElement, Control 등과 같이 DependencyObject 에서 파생 된 클래스에서만 정의 할 수 있다. 우리가 흔히 속성으로 알고 사용하는 Height도 의존 속성이다. 💻 XAML 💻 XAML.cs using Sys..
· C#/WPF
💻 Duty 클래스 (View Model에 해당) using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HelloWorld1 { public enum DutyType // 열거형 { Inner, OutSide } public class Duty { private string _name; // 직무명 private DutyType _dutyType; // 직무타입(내근, 외근) public Duty() { } // 생성자 public Duty(string name, Du..
· C#/WPF
✍ 데이터 트리거란? 데이터 트리거 클래스는 이전의 프로퍼티 트리거의 Property를 바인딩(Binding)으로 대신하는 것을 제외하고는 Trigger와 유사한데, 바인딩은 다른 엘리먼트를 참조한다. 데이터 트리거는 바인딩 되는 값이 특정 값을 가질 때 프로퍼티를 설정할 수 있게 해준다. 요소로 표시하며 트리거는 의존속성이 아닌 속성에 사용된다. MVVM 패턴을 사용하여 데이터 바인딩을 사용하는 경우 이상적이다. 💻 CheckBox와 TextBlock 컨트롤을 만드는데 최초 화면을 로드 할 때는 TextBlock이 화면에 나타나지만 CheckBox를 클릭하면 사라지는 예제 --> CheckBox 선택 시 TextBlock이 숨겨지는 트리거 예제 💻 Slider 컨트롤과 ProgressBar 컨트롤을 만..
· C#/WPF
✍ WPF Trigger 란? 트리거는 어떤 조건, 이벤트 등이 주어졌을 때 묵시적으로 컨트롤의 상태 또는 이벤트 핸들러 등을 호출하는 기능을 의미한다. 즉, 트리거를 사용하면 엘리먼트의 프로퍼티나 데이터 바인딩, 이벤트에서 발생하는 변화에 엘리먼트와 컨트롤이 어떻게 반응할지를 정할 수 있다. Style의 Setter와 비교할 때 둘 다 프로퍼티를 설정하지만, Setter는 엘리먼트가 처음 생성되었을 때의 프로퍼티를 설정하며, 트리거는 프로퍼티가 변경되는 경우에 프로퍼티를 설정하는 점이 다르다. ✍ 프로퍼티 트리거 TriggerBase 중 가장 일반적인 파생클래스는 특정 프로퍼티의 변화(어떤 값을 가졌을 때)에 내부에 정의한 Setter 컬렉션이 실행되는 트리거이다. 컨트롤이나 엘리먼트가 반응하는 방법을..
· C#/WPF
StaticResource는 태그 확장으로 StaticResourceExtension이라는 클래스를 사용하기를 지시하는 코드이다.
· C#/WPF
WPF Template의 종류에는 크게 Data Template, Control Template, ItemsPanel Template가 있다. Template은 비주얼 트리를 대체하고 사용자가 정의하기 위한 방법이다. 비주얼 트리를 생성하고 기존의 비주얼 트리를 오버라이드 해 비주얼을 사용자가 변경할 수 있게 한다. 이는 불필요한 상속을 줄이고 디자인과 비주얼의 변경을 쉽게 한다. ✍ Data Template Template를 사용해서 데이터 표시를 좀 더 자유롭고 유연하게 정의할 수 있다. DataTemplate은 특정 데이터 형식을 시각화하기 위해 사용한다. 즉, 특정 데이터 형식에 해당하는 비주얼을 사용자가 제공하는 것이다. 이로써 데이터의 표현에 있어 사용자에게 유연성을 제공한다. DataTemp..
· C#/WPF
WPF의 이벤트는 크게 버블링과 터널링로 나뉘어진다. ✍ 버블링 자식에서 부모로 이벤트가 이동을 한다. ✍ 터널링 부모에서 자식으로 이벤트가 이동을 한다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media...
suniverse
'C#' 카테고리의 글 목록 (2 Page)