programming 16

MVVM방식으로 여러 View간 전환하기

1. 프로젝트 만들기- Visual Studio 2022 Version 17.11.4- Target framework : .NET 8.0 2. 실행화면 3. 데이터와 데이터를 표시하는 View를 연결하기(DataTemplate이용)- App.xaml- Rs232HostUcViewModel타입의 데이터를 표시할 View(Rs232HostUc)에 연결하는 예DataTemplate DataType="{x:Type vm:Rs232HostUcViewModel}">    v:Rs232HostUc/>DataTemplate>- 데이터와 View연결 전체 코드 Application.Resources>    DataTemplate DataType="{x:Type vm:SerialPortHostSettingUcViewMod..

programming/C# 2024.10.19

Json, Xml, Ini설정파일 읽기/쓰기

여러 형식으로 설정 파일을 읽고 쓰는 방법을 정리해 놓는다. 1. 프로젝트 만들기- Visual Studio 2022 Version 17.11.4- Target framework : .NET 8.0 2. 주요 nuget패키지Newtonsoft.JsonPeanutButter.INI 3. 실행화면 4. Json, Xml, Ini설정 읽기/쓰기- MainWindowViewModel.cs- 설정 읽기private void OnLoaded(object? obj){    // Load settings from a json file    _jsonSetting = JsonSettingHelper.LoadSettingNetworkTemplateWpfSetting>(JsonSettingFileName);    // Lo..

programming/C# 2024.10.19

CommunityToolkit.Mvvm사용시 다이얼로그창 표시방법1

CommunityToolkit.Mvvm과 MvvmDialogs nuget패키지를 사용해 다이얼로그를 표시하는 방법을 정리해 놓는다.- CommunityToolkit1.zip : 파라미터가 없는 View생성자 예제- CommunityToolkit1_1.zip : 파라미터가 있는 View생성자 예제 실행화면1. 프로젝트 만들기- Visual Studio 2022 Version 17.11.4- Target framework : .NET 8.0 2. 필요한 nuget패키지CommunityToolkit.MvvmMicrosoft.Extensions.DependencyInjectionMicrosoft.Xaml.Behaviors.WpfMicrosoft.Extensions.ConfigurationMicrosoft.Ext..

programming/C# 2024.10.05

ILogger의 구현체로 NLog를 사용하기

Microsoft.Extensions.Logging.ILogger의 구현체로 NLog를 사용해서 로깅하기1. 프로젝트 구성- Visual Studio 2022 Version 17.11.4- Target framework : .NET 8.0- NLogExample                    NLogConsoleApp1          CalcLib          NLogWpfApp12. 필요한 nuget패키지Microsoft.Extensions.LoggingNlogNLog.Extensions.LoggingNLog.Targets.Seq3. NLog의 출력을 Seq서버에 저장할 경우 필요한 프로그램- Seq :https://datalust.co/download- Seq설치방법 참고자료  https:/..

programming 2024.10.02

ILogger의 구현체로 Serilog를 사용하기

Microsoft.Extensions.Logging.ILogger의 구현체로 Serilog를 사용해서 로깅하기 1. 프로젝트 구성- Visual Studio 2022 Version 17.11.4- Target framework : .NET 8.0- SerilogExample          SerilogExConsoleApp1          CalcLib          SerilogWpfApp1 2. 필요한 nuget패키지Microsoft.Extensions.ConfigurationMicrosoft.Extensions.Configuration.FileExtensionsMicrosoft.Extensions.Configuration.JsonMicrosoft.Extensions.LoggingSerilogS..

programming 2024.10.01

ILogger의 구현체로 log4net을 사용하기

log4net의 ILog인터페이스로 로깅을 할 수도 있으나 Microsoft.Extensions.Logging.ILogger의 구현체로 log4net을 사용해서 로깅을 할 수도 있다. 1. 프로젝트 구성- IDE : Visual Studio 2022 Version 17.11.4- Target framework : .NET 8.0 2. 필요한 nuget 패키지- Microsoft.Extensions.Logging- Microsoft.Extensions.Logging.Log4Net.AspNetCore- Seq.Client.Log4Net 3. log4net의 출력을 Seq서버에 저장할 경우 필요한 프로그램- Seq :https://datalust.co/download- Seq설치방법 참고자료  https://..

programming 2024.10.01

같은 이벤트에 대한 View와 ViewModel의 메쏘드 호출 순서

MainWindow의 이벤트에 View(MainWindow.xaml.cs)와 ViewModel(MainWindowViewModel.cs) 각각에 대해 이벤트핸들러를 연결하면 어느 클래스의 이벤트 핸들러가 먼저 호출될 것인가? View의 이벤트 핸들러가 먼저 호출된다.ViewModel의 이벤트 핸들러가 나중에 호출된다. 예1) Loaded이벤트 2024-09-27 20:45:07.336 [DBG] MainWindow.Window_Loaded            -> View의 이벤트 핸들러 2024-09-27 20:45:07.433 [DBG] MainWindowViewModel.Loaded         -> ViewModel의 이벤트 핸들러 예2) 2024-09-27 20:45:32.672 [DBG] M..

programming 2024.09.27