2013-07-25 5 views
4

캔버스에 이미지를 처리하는 WPF 프로그램이 있습니다.상대 경로와 절대 경로를 통한 혼란

나는 프로그램의 내용을 저장하고 나중에 다시로드 할 수 있도록 직렬화를 사용하려고하는 단계에 있습니다.

그래서 절대 경로 값을 사용하는 컨트롤에 이미지를 삽입 할 때 프로그램의 상태를 저장하고 다시로드하려는 프로그램에 대해 나쁜 아이디어라고 이해합니다. 나중에.

그렇다면이 상황에서 취할 수있는 최선의 조치는 무엇입니까?

예를 들어 이미지라고하는 WPF 프로젝트 내에서 폴더를 만든 다음 내 프로그램에서 사용하는 모든 이미지를이 폴더로 복사 한 다음이 경로를 가리 킵니까?

여기 완전히 잘못된 줄에 있습니까?

답변

1

응용 프로그램의 상태 데이터를 serialize하는 경우 일반적으로 Environment.GetFolderPath을 호출하여 얻을 수있는 시스템 특수 폴더 중 하나 이상에 폴더를 만듭니다.

예를 들어 SpecialFolder.CommonApplicationData 열거 형 (Windows 7 시스템의 경우 C:\ProgramData)으로 지정된 특수 폴더 아래의 폴더에 응용 프로그램 범위 (모든 사용자에 대해 동일)의 데이터를 저장할 수 있습니다.

현재 로밍 사용자 (네트워크의 여러 컴퓨터에서 작업하는 사용자)의 데이터는 SpecialFolder.ApplicationData 아래 폴더에 저장됩니다. 비 로밍 사용자의 경우 SpecialFolder.LocalApplicationData도 있습니다.

개요를 보려면 Environment.SpecialFolder 열거 형을 살펴보십시오.

0

제 경험으로 볼 때 폴더를 만들고 거기에 이미지를 저장하십시오. 장기적으로 당신의 삶을 편하게 해줄뿐 아니라 응용 프로그램의 리소스가 어디에 있는지 쉽게 알 수 있습니다.

관련 문제