C#5 [C# / WinUI3] User Control에서 Property 및 Event 추가 WinUI3를 이용해 개발하다보면 User Control을 만들고 이를 이용할 때가 많습니다. xaml을 통해 일반 컨트롤러를 추가하면 그 컨트롤러와 관련한 Property나 Event를 실제 클래스와 연결하여 쓸 수 있는데 사용자가 만든 User Control은 어떻게 이런 Property나 Event를 추가해야 xaml에서 이것들을 사용할 수 있을까요? WinUI3 프로젝트 구성은 하실 줄 아신다고 생각하고 한번 실습 위주로 글을 써 보았습니다. (사실 UWP도 별반 다르지 않을거라 생각되나 WinUI3 문법을 쓰고 있어서 WinUI3 기준으로만 명령을 사용했기에 WinUI3라 적었습니다.) 프로젝트 파일도 올려 놓으니 참고하실 분은 다음 파일을 받아서 보셔도 됩니다. 일단 테스트를 위해 Blank .. 2023. 8. 28. win32 API로 디스플레이 확장/복제 설정하기 프리젠테이션 등을 하다보면 화면을 확장하는 것보다 복제하는 것이 편하거나 반대인 경우가 많습니다. 이에 단축키로 이것을 스왑하는 기능을 만들어 보고자 관련 win32 API를 찾아보았습니다. API는 찾은 후 프로그램의 단축키로 지정하자 프리젠테이션용이니까 Windows+Shift+P 정도의 단축키를 써야지 했는데 결론적으로는 해당 기능은 윈도우에서 지원하고 있었습니다. 게다가 단축키도 제 생각과 동일하게 Windows+Shift+P 였습니다.;; 프로그램을 만들 필요는 없어졌지만 win32 API를 이용하여 모니터 디스플레이 확장/복제를 설정하는 방법을 찾아놓은 것을 기록삼아 이곳에 남겨둡니다. win32 API중 SetDisplayConfig 함수를 사용하면 됩니다. 함수에 대한 Microsoft의 .. 2023. 4. 17. [C#.NET] C# 에서 C++ Windows Runtime Component 사용하기 WinRT (Windows 런타임) 라이브러리를 만들어내면 WinMD (Windows 메타데이터)를 출력으로 내보내며 이것으로 다양한 프로그래밍 언어에서 언어 프로젝션을 사용, 이를 이용 할 수 있습니다. 허나 C++ Windows Runtime Component를 만들고 C# 프로젝트에서 그냥 참조해서 써보려고 하면 오류가 발생합니다. 이에 대해 찾아본 결과 .NET 6 이상부터는 WinMD 파일의 사용을 지원하지 않는다고 합니다. 바로 C++ Windows Runtime Component를 쓸 수는 없고, C# 프로젝션을 만들어내고 이를 이용해야 합니다. 이 과정을 한번 추후 다시 찾는 일이 없게 하기 위해 예제를 만들어 보고 실습하는 과정을 겪어보겠습니다. 이 글은 Visual Studio 2022.. 2022. 12. 2. [C#.NET] Laptop Battery 정보 얻기 (Power Status) 프로그램 개발중 현재 시스템의 배터리 상태를 얻고 싶을 때가 있습니다. 이때는 System.Windows.Forms.SystemInformation.PowerStatus을 사용하시면 됩니다. MSDN 내용은 다음의 링크를 참조해 주세요. MSDN PowerStatus SystemInformation.PowerStatus Property (System.Windows.Forms) Gets the current system power status. learn.microsoft.com 제일 먼저 다음을 선언합니다. using System.Windows.Forms; 그리고 SystemInformation.PowerStatus에서 BatteryChargeStatus 값을 확인하면 배터리의 현재 충전 상태를 알아낼 .. 2022. 9. 26. 이전 1 2 다음