2014-02-26 2 views
1

일부 사진을 내 프로젝트에 ressource로 추가합니다 (예 : ressources 폴더에 추가). 는 지금은 그들을 사용하고 있습니다 :XAML 이미지 리소스

<Image Name="_ImageName" Width="100" Height="100" Source="Resources\HalloPicA.png"/> 
<Image Name="_ImageName" Width="100" Height="100" Source="Resources\HalloPicB.png"/> 

... 그래서 하나.

"Resources"폴더를 "MyResources"로 변경한다고 상상해보십시오. 문제 XAML 코드에서 모든 부분을 변경해야합니다. 더 좋은 방법이 있습니까? C#을 -code에서 나는 일반 문자열 등으로 멤버 변수를 선언합니다 :

privat _FolderName = "Resources"; 

이 방법이 멤버 변수를 사용

Image newImage = Image.FromFile(_FolderName +"HalloPicA.png"); 

이 희망 내 문제는 분명하다.

답변

2

속성 바인딩 및 값 변환기를 사용하여이 작업을 수행 할 수 있습니다. 예를 들어 : 당신의 imgPathConverter이 "자격을 갖춘"이미지 경로에 이미지 이름을 변환 할 수있는 클래스이다

<Image Name="_ImageName" Width="100" Height="100" Source="{Binding Path=imgA, Converter={StaticResource imgPathConverter}}" /> 

. 당신이 할 수있는 일

1

BitmapImage 자원, 별도의 리소스 사전을 만들거나 Application.Resources에 넣어하는 것입니다

<Application ...> 
    <Application.Resources> 
     <BitmapImage UriSource="/MyAssemblyName;component/MyPath/myImage.png" x:Key="imageKey"/> 
    </Application.Resources> 
</Application> 

한 다음 그것을

<Image Width="100" Height="100" Source="{StaticResource imageKey}"/> 

이 방법으로 사용하고자 할 때 폴더 변경은 하나의 파일로만 변경해야합니다.