WPF/개발

WPF Image Source 이미지 파일 삭제 또는 수정하는 방법

푸코잇 2024. 12. 6. 16:46

WPF Image 컨트롤 Source 속성에 이미지 파일을 바인딩한 경우 삭제 또는 수정 시 IOException 예외(다른 프로세스에서 사용 중이므로 프로세스에서 액세스 할 수 없습니다)가 발생한다.

Source 속성에 null로 설정해도 동일하게 예외가 발생하는데 해결방법을 알아보자.

 

Image Source 이미지 파일 삭제 또는 수정하는 방법

string filePath = @"C:\test.png";

BitmapImage img = new BitmapImage();
img.BeginInit();
img.CacheOption = BitmapCacheOption.OnLoad;
img.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
img.UriSource = new Uri(path);
img.EndInit();

 

다음과 같이 BitmapImage 객체를 생성하여 CreateOptions 값을 IgnoreImageCache로 설정하면 된다.

만약, 파일 경로를 바인딩하는 경우에는 Converter에 위의 코드를 사용하면 된다.

위의 방법대로 했는데 동일하게 IOException이 발생한다면 비주얼스튜디오를 종료 후 재시도하자.