
2022.05.19 - [WPF .NET] - Dependency Inversion Principle(DIP) - 의존성 역전 원칙 part1 이전 포스트에서 의존성에 대해서 알아보았으니 본격적으로 의존성 역전에 대해서 알아 보도록 하겠습니다. 1. Dependency Inversion Principle(DIP) 의존성 역전은 High level과 Low level을 인터페이스를 사용하여 분리하여 개발하는 이야기합니다. 이 포스트에서는 Common Library의 DynamicResource 클래스와 Application의 LocalDynamicResource 클래스가 모두 IDynamicResource에 의존하는 구조로 변경하고, 사용함으로 이를 구현했습니다. 2. IDynamicResource.cs ..

Dependency Inversion Principle(DIP) 의존성 역전 원칙에 대해 설명을 하는 포스팅입니다. 아래 IoC container, Dependency Injection이 함께 써져있는 것은 의존성 역전 원칙을 구현하기 위해서 필요한 추가적인 개념이기 때문입니다. 의존성 역전 원칙을 사용하는 쉬운 예로는 ILogger를 이용해서 로그를 출력하는 애플리케이션을 개발하는 것입니다. 하지만, 이해하기가 쉽지 않을 수 있기 때문에, 제가 사용하는 DynamicResource라는 클래스를 이용해서 구체적으로 설명을 하도록 하겠습니다. 더 난해할 수도 있다는 점은 함정!! 1. DynamicResource.cs 클래스 설명 Resource File의 String을 XAML이나 Code에서 사용하기 ..

2022.05.04 - [WPF .NET] - MVVM Pattern을 사용하는 개발자를 위한 안내 v1.0 part1 이번 파트에서는 MVVM Pattern을 실제 프로젝트에서 구현하는 방법에 대해서 알아보도록 하겠습니다. 1. INotifyPropertyChanged 프로퍼티가 변경되었음을 클라이언트에게 알려주는 핵심 인터페이스 입니다. Platform의 controls들은 이 이벤트를 수신해서 처리합니다. 구현 예) 프로젝트에서 INotifyPropertyChanged 인터페이스를 사용하기 위해서는 아래와 같은 base 클래스를 만들어서 Model이나 ViewModel에서 상속 받아 사용하면 됩니다. [CallerMemberName] 때문에, Visual Studio 2017 이상에서 동작할 것으로..

2021.02.18 - [UWP & Windows App/Beginner] - MVVM Pattern을 사용하는 개발자를 위한 안내 (업데이트 : 2022/03/21) 제 블로그에서 가장 인기있는 포스팅이 바로 MVVM Pattern 관련 포스팅입니다. 그런데, 오래전에 등록한 포스팅이라 이번에 새롭게 WPF 버전으로 정리를 하려고 합니다. 1. MVVM Pattern History MVVM은 WPF (Windows Presentation Foundation) 및 Silverlight의 기능을 활용하여 이벤트 중심 프로그래밍을 간소화하기 위해 Microsoft 아키텍처 Ken Cooper 및 Ted Peters가 개발했습니다. Microsoft의 WPF 및 Silverlight 아키텍트 중 한 명인 Jo..

2022.04.15 - [WPF .NET] - Microsoft.Toolkit.Mvvm을 이용한 간단한 프레임워크 part5 - [ObservableProperty] 속성(2/2) 2022.04.14 - [WPF .NET] - Microsoft.Toolkit.Mvvm을 이용한 간단한 프레임워크 part5 - Service 추가(1/2) 2022.03.03 - [WPF .NET] - Microsoft.Toolkit.Mvvm을 이용한 간단한 프레임워크 part4 - LayerPopup 추가 2022.03.02 - [WPF] - Microsoft.Toolkit.Mvvm을 이용한 간단한 프레임워크 part3 - Busy 화면 구현 2022.02.24 - [WPF] - Microsoft.Toolkit.Mvvm을 ..

Syncfusion사의 Metro Studio 5에 대한 자세한 설명을 포스팅 한적이 없는 것 같네요;; 이 어플리케이션 사용한지가 엄청 오래되었는데..쿨럭 Syncfusion 아엠 쏘리.. 제가 개발만 할줄알지, 디자인이나 포토샵을 다루지 못하기 때문에, 애플리케이션에서 사용하는 아이콘이 필요할 때면 아는 동생을 졸라서 만들거나, 인터넷에서 무료 아이콘 같은거 찾아서 다운로드 받아서 사용했었습니다. 그런데, Metro Studio를 알고난 후 부터는 아이콘 걱정은 일절하지 않습니다. Png, Jpeg, Ico, Path 등 아이콘을 내가 원하는 형태로 출력해주니 고민을 할 이유가 사라졌죠~ 1. Syncfusion Metro Studio Download Free Metro Style Icons Down..

2022.04.14 - [WPF .NET] - Microsoft.Toolkit.Mvvm을 이용한 간단한 프레임워크 part5 - Service 추가(1/2) 2022.03.03 - [WPF .NET] - Microsoft.Toolkit.Mvvm을 이용한 간단한 프레임워크 part4 - LayerPopup 추가 2022.03.02 - [WPF] - Microsoft.Toolkit.Mvvm을 이용한 간단한 프레임워크 part3 - Busy 화면 구현 2022.02.24 - [WPF] - Microsoft.Toolkit.Mvvm을 이용한 간단한 프레임워크 part2 - Frame Navigation 2022.02.21 - [WPF] - Microsoft.Toolkit.Mvvm을 이용한 간단한 프레임워크 par..

2022.03.03 - [WPF .NET] - Microsoft.Toolkit.Mvvm을 이용한 간단한 프레임워크 part4 - LayerPopup 추가 2022.03.02 - [WPF] - Microsoft.Toolkit.Mvvm을 이용한 간단한 프레임워크 part3 - Busy 화면 구현 2022.02.24 - [WPF] - Microsoft.Toolkit.Mvvm을 이용한 간단한 프레임워크 part2 - Frame Navigation 2022.02.21 - [WPF] - Microsoft.Toolkit.Mvvm을 이용한 간단한 프레임워크 part1 프레임워크에서 사용하는 서비스를 하나 추가하고, 사용하는 방법에 대해서 알아보겠습니다. 이 예제를 하기 위해서는 LocalDB에 Northwind dat..

2022.04.11 - [WPF .NET] - 대용량 데이터처리시 발생되는 UI Freeze 문제 해결 part1 2022.04.12 - [WPF .NET] - 대용량 데이터처리시 발생되는 UI Freeze 문제 해결 part2 이전 포스트에서 구현한 코드를 MVVM 패턴을 사용하는 경우에는 어떻게 사용해야할까요? 쉬운 문제였죠? Behavior을 하나 만들어서 사용하면 쉽게 구현할 수 있습니다~ 1. MvvmViewModel.cs GetModels에서 반환된 IEnumerable를 SyncModels라는 이름의 프로퍼티로 노출 시켜줍니다. using Microsoft.Toolkit.Mvvm.ComponentModel; using Microsoft.Toolkit.Mvvm.Input; using Micro..

2022.04.11 - [WPF .NET] - 대용량 데이터처리시 발생되는 UI Freeze 문제 해결 part1 이전 포스트에서 Yield를 이용해서 데이터를 조금씩 읽어서 처리할 수 있는 방법을 살펴보았습니다. 하지만, 여전히 UI Freeze 문제를 해결할 수는 없었는데요, 음... 오늘은 UI 출력 방법을 바꾸어 보도록 하겠습니다. 1. foreeach를 이용해서 데이터를 하나씩 그냥 추가하면 않될까? yield return을 이용해서 데이터를 조금씩 가지고 올 수 있으면, foreach를 이용해서 가져온 데이터를 하나씩 ListBox에 넣는다면? ItemsSource는 데이터를 하나씩 넣을 수 없는데? ObservableCollection을 사용해? 여러가지 생각들이 꼬리에 꼬리를 물면서 저를 ..
- Total
- 679,107
- Today
- 143
- Yesterday
- 348
- XAML
- UWP
- ef core
- LINQ
- Cross-platform
- WPF
- windows 11
- dotNETconf
- Build 2016
- uno platform
- PRISM
- Microsoft
- visual studio 2019
- .net
- #Windows Template Studio
- Windows 10
- Bot Framework
- .net 5.0
- #prism
- WebView
- ComboBox
- #MVVM
- IOT
- MVVM
- #uwp
- infragistics
- uno-platform
- #XAML
- Xamarin
- C#