2011-05-01 4 views
1

다음 코드가 있습니다. 내 리소스를 찾을 수 없습니다.Silverlight (WP7) 리소스를로드하는 중

string filename = "Resources/Functions.plist"; 
    Uri fileUri = new Uri(filename, UriKind.Relative); 
    StreamResourceInfo sr = Application.GetResourceStream(fileUri); 

위의 실행 후 sr은 null입니다. 안좋다.

내 프로젝트 디렉토리의 서브 디렉토리 인 "Resources"디렉토리에 "Functions.plist"라는 파일이 있습니다. 솔루션 익스플로러에서 마우스 오른쪽 버튼을 클릭하면 빌드 동작이 "리소스"로 표시되고 출력 디렉토리에 대한 복사가 "더 새로운 경우 사본"으로 표시됩니다. 여기

그것을로드 .csproj 파일의 부분, 또는 적어도 나는이하는 생각 :

<ItemGroup> 
    // AppManifest and WMAppManifest here 
<Resource Include="Resources\**"> 
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
</Resource> 

것은 무엇 잘못 될 수 있을까?

답변

0

내가해야 할 일을했을 프로젝트의 파일을 포함하려면 다음 사용 무엇인지 밝혀 .

0

일반적으로 디자이너에서 임의의 이미지를로드 한 다음 XAML 코드에서 자동 생성 된 경로를 복사하여 내 .CS 코드의 템플릿으로 사용합니다.

물론 이미지가 아닌 경우 경로를 다른 객체의 템플릿으로 사용합니다.

"항상 복사"옵션을 선택하면 도움이 될 수도 있습니다. 자원의

0

는 URI 형식으로 콘텐츠, 당신이해야하는 것은 같은 것을 약간 다른 당신 :.

string filename = "/{yourAssemblyShortName};component/resources/functions.plist"; 

첫 번째 부분에서 자원을 찾기 위해 조립 시스템을 말한다 당신 만약 돈 assmebly 이름을 알면 프로젝트 속성 화면에서 찾을 수 있어야합니다. 에 "콘텐츠"를 "자원"

<ItemGroup> 
    <None Include="Properties\AppManifest.xml"> 
    <SubType>Designer</SubType> 
    </None> 
    <None Include="Properties\foo.plist" /> 
    <None Include="Properties\WMAppManifest.xml"> 
    <SubType>Designer</SubType> 
    </None> 
    <Content Include="Resources\Functions.plist"> 
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
    </Content> 
    <Content Include="Resources\Help List.plist"> 
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> 
    </Content> 
      // and similarly for the other resource files 
</ItemGroup> 

잘 모르겠어요,하지만 키가 변경되었을 수 있습니다 :

0

나는 이런 류의 자원을 얻을 수 있다고 생각합니다.

string filename = "Resources\\Functions.plist"; 
Uri fileUri = new Uri(filename, UriKind.Relative); 
StreamResourceInfo sr = Application.GetResourceStream(fileUri); 

WP7의 파일 분리자는 슬래시가 아니기 때문에 백 슬래시가 아닙니다.

도움이 될 수 있기를 바랍니다.

관련 문제