전체 글

· WPF
UniformGrid는 유용한 컨트롤이지만 Grid나 StackPanel보다는 상대적으로 덜 쓰이는 컨트롤이죠. 잘사용하면 정말 편리합니다. 특히 Dashboard를 구현할 때 편리합니다. 그런데 StackPanel과 마찬가지로 ItemsSource가 없기 때문에 다른 방법을 사용해줘야합니다. 사실 StackPanel과 같은 방법입니다.  ✅ UniformGrid에 ItemsSource 달기 서두에 말씀드린 것 처럼 StackPanel과 같은 방식으로 하면 됩니다.ItemsControl을 사용하는 것이죠.  View ..
· C#
개발 중 높은 권한을 요구하는 작업이 필요한 경우, Visual Studio를 관리자 권한으로 실행하거나, WPF 애플리케이션을 항상 관리자 권한으로 실행되도록 설정해야 할 때가 있습니다. 이번 글에서는 Visual Studio 2022와 .NET 8 환경에서 이러한 설정을 적용하는 방법입니다.   Visual Studio 에서 관리자 권한으로 컴파일 / 실행하는 방법   Visual Studio를 관리자 권한으로 실행하기간단한 방법으로 Visual Studio 자체를 관리자 권한으로 실행하면 Visual Studio에서 개발 중인 S/W 또한 관리자 권한으로 실행되게 됩니다. (1) 한 번만 관리자 권한으로 실행하기시작 메뉴를 엽니다.Visual Studio 아이콘을 찾아 마우스 오른쪽 버튼을 클릭합니..
· C#
UI를 개발하다 보면 문자열을 많이 사용할 수밖에 없는데 별생각 없이 코딩하다 여기저기 너저분한 문자열들을 볼 수 있게 됩니다. 여기서는 존댓말, 저기서는 반말, YES일 때도 있고 OK 일 때도 있습니다. 여러 번 사용되는 문자열은 가급적 runtime 코드 외부로 빼는 것이 유리합니다. 몇 가지 방법에 대해 공유합니다.   고정 문자열 관리  const절대 변경되지 않는 문자열일 경우, const가 적절합니다.public static class Messages{ public const string ErrorFileNotFound = "The file not be found."; public const string SuccessMessage = "완료.";}Console.WriteLine(M..
· WPF
UI는 폰트만 바꿔도 분위기가 크게 바뀝니다.보통 디자이너가 사용한 폰트를 내 PC에 설치하고 Visual Studio에서 해당 폰트를 xaml에 적용해서 개발을 한 뒤 배포를 하는데 막상 다른 PC에서는 기본 폰트로 출력되는 상황을 다들 경험해 보셨을 거 같습니다.     위와 같은 상황에서 폰트를 해당 PC에 설치하거나 디자이너가 선택한 폰트를 포기하고 기본 폰트로 전체 UI를 수정하기도 하는데 가장 좋은 방법인 어플리케이션에 폰트를 리소스로 등록하여 사용하는 방법입니다.  WPF에서 Font를 포함하기구글링을 하면 신기하게 Font를 포함하여 배포하는 방법이 참 많은데 이게 참 은근히 잘안됩니다.많은 정보는 오히려 혼란을 주는 것 같습니다.     1. Font를 프로젝트 내 폴더에 복사사용하려는 ..
· WPF
WPF에서 GMap을 사용하는 과정입니다. GMap은 지도 라이브러리로 Google Map 뿐 아니라 다양한 지도 서비스를 사용할 수 있습니다.간단한 설정만으로 훌륭한 지도 컨트롤을 사용할 수 있어서 매우 놀라웠습니다.예전에 Binary로 된  지도 데이터를 읽어서 DirectX로 힘들게 그려주던 생각이 나서 조금은 허무하기도 했습니다.다만 인터넷에 연결되어 있어야 정상적인 사용이 가능합니다. 제가 사용한 방식에 대해서 공유합니다.      프로젝트 생성 및 Nuget package 설치Visual Studio에서 WPF 프로젝트를 생성합니다..NET8을 사용했습니다. nuget 관리자에서GMap.NET.Core를 설치합니다.GMap.NET.WinPresentation도 함께 설치합니다.두 package..
· C#
C#에서는 배열형보다는 List를 많이 쓰게 됩니다.특히 문자열에서는 byte배열보다 훨씬 편리한 string 클래스를 많이 쓰죠.문자열은 string으로 모든 작업이 가능하지만 데이터 통신(Serial, TCP 등)을 할 때는 byte[]를 사용해야 하는 경우가 있습니다. 송수신을 byte 단위로 하기 때문입니다.   그런데 UI에 보여주거나 Log를 남길 때, 사용자 입력을 받는 등 문자열데이터를 송신할 때는 byte[], string 간 변환이 필요할 때가 많습니다.은근히 많이 사용하고 간단한 코드이지만 막상 사용하려고 할 때 생각이 잘 안 나는 코드이기도 하죠.     ✅ string을 byte[]로 변환string tempString = "TestData";byte[] bytes = Encodi..
YUNYUN3915
윤윤, DEV