c# 27

[오류 / WPF / MediaPlayer] WPF MediaPlayer에서 "Windows Media Player 버전 10 이상이 필요합니다." 오류 해결법

오류내용오류원인해결방법오류내용 "Windows Media Player 10 이상이 필요합니다." Windows 11 환경에서 mp3 파일을 직접 실행하는 경우에는 정상적으로 소리가 재생된다.하지만 아래와 같이 C# WPF 프로그램에서 MediaPlayer로 mp3 파일을 재생하려고 하면,아무런 소리가 나지 않는 현상이 발생했다. private MediaPlayer _mediaPlayer;private void PlaySound(){ try { string mp3FilePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Sound.mp3"); // 파일이 존재하는지 확인 if (!S..

c#/오류 2025.07.29

[WPF / xaml] WPF UI 랜더링 완료 시점

개발을 하다보면 UI가 완전히 랜더링 된 시점을 정확히 잡아야 할 때가 있다처음 프로그램을 실행 시킨후 MainWindow가 로드될때 이벤트 순서는 아래와 같다1. 생성자 호출 - 객체가 생성되는 단계로, 여기에서는 UI가 아직 로드되지 않은 상태다.2.InitializeComponent() - XAML에 정의된 UI 요소들이 로드되고, 초기화 된다.3. Loaded 이벤트 - UI요소가 초기화되고 로드된 상태이지만, 아직 화면에는 그려지지 않은 상태다.4. ContentRendered 이벤트 - 모든 UI 요소들이 실제로 화면에 렌더링이 완료된 직후 발생하는 이벤트다. 즉, 사용자가 눈으로 확인 가능한 시점이다. - 다만, ContentRendered 이벤트가 발생했다고 해서 이후 추가적인 U..

c#/WPF 2024.12.10

[WPF / xaml] FontFamily 리소스 동적 할당 메모리 누수

내가 가장 많이 사용하던 방식인폰트를 리소스에 넣어서 리소스사전에 등록하고 사용하는 방식은메모리를 많이먹게된다참고 자료https://forum.dotnetdev.kr/t/wpf-fontfamily/9240 WPF FontFamily 폰트 리소스 동적 할당시 메모리 누수프로그래밍을 하다보면, 디자인파일에 맞추기 위해 폰트를 설정합니다. 배포 특성상 타겟 윈도우에 폰트를 설치하기 꺼려지는 경우가 있는데요. 이때 어플리케이션과 함께 글꼴 패키징을 사용forum.dotnetdev.kr결론가능하다면 폰트를 설치하고설치된 폰트를 리소스사전에 등록후 사용하자

c#/WPF 2024.11.05

[WPF / xaml] Rectangle - 점선으로 된 Border 그리기

RectangleStroke - Border에서 BorderBrush 역할StrokeThickness - Border에서 BorderThickness역할RadiusX , RadiusY - Border에서 CornerRadius역할을 하지만 CornerRadius 와는 사용법이 좀다르다(사용해보면 느낌이 바로온다)Fill - Border에서 BackGround역할DoubleCollection 첫번째 항목 (예제코드에서 5) - 점선의 길이 값DoubleCollection 두번째 항목 (예제코드에서 1) - 점선 사이의 거리 값 5, 1 ​

c#/WPF 2024.10.22

[WPF] Binding 속성들

Binding에서 제공해주는 여러 속성들을 정리해보려고한다 WPF에서 Binding속성은 XAML에서 UI 요소를 데이터 소스의 속성과 연결하는 데 사용된다.Binding은 여러 속성을 제공하여 다양한 방법으로 데이터를 연결 할 수 있게 도와준다.어떤 속성들이 있고, 해당 속성이 어떤 역할을 하는지 알아보자 목차PathSourceElementNameRelativeSourceModeUpdateSourceTriggerConverterConverterParameterStringFormatFallbackValueTargetNullValue Path바인딩할 데이터 소스의 속성 경로를 지정Source바인딩할 데이터 소스를 지정 1공통으로 관리하는 테마Color, 폰트 등을 활용할 수 있다.2Person 객체의 ..

c#/WPF 2024.07.26

[세미나] Blazor / WPF / MAUI 밋업

2024년 3월 28일 목요일마이크로소프트 코리아 본사에서인프라지스틱스와 마이크로소프트의 후원으로 진행되는 무료 세미나에 참석하게 되었다 평소 닷넷데브 커뮤니티에서 관심있게 봐왔던 이재웅 개발자님께서 직접 연락을 주셨다! 이재웅 개발자님께서는 WPF 세션을 맡아서 진행하셨고WPF뿐만 아니라 Blazor와 MAUI세션도 함께 진행하였다 WPF 프로젝트 매니징에 필요한 좋은 습관 TOP 10 WPF 세션의 주제는 WPF 프로젝트 매니징에 필요한 좋은습관 TOP 10 이였다Blazor와 MAUI는 평소 관심은 있었으나 접할 기회가 없었고,이번 세미나를 통해서 느낀점은아직 기술적인 지원이 미비한거같고추후에 필요할때 공부해도 늦지 않겠다고 판단하여블로그에는 WPF 세션만 다루게 되었다 이재웅 개발자님의 gi..

c#/세미나 2024.04.11

[세미나] Blazor / WPF / MAUI 밋업 (INotifyPropertyChanged 구현)

[ObservableProperty] 어트리뷰트 활용 보통은 아래 코드처럼CommunityToolkit.Mvvm을 통해 속성 자체를 생략하여 편리하게 사용하지만[ObservableProperty]private _title { get; set; } INotifyPropertyChanged 를 직접 구현해보고이해하는것은 MVVM을 이해하는대에 큰 도움이 된다 위 코드가 나오기까지 어떠한 과정들이 생략 되었는지 알아보자INotifyPropertyChanged 구현MVVM 패턴의 실체와도 같은 INotifyPropertyChanged를 통해 바인딩 가능한 속성을 만들게 된다또한 WindowsBase.dll에 포함된 이 상징적인 인터페이스를 한번 들여다 볼 필요가 있다생각보다 많은 WPF 개발자들이 이를 직접 구..

c#/세미나 2024.04.05