我有下面的代码。 这不是找到我的资源:
string filename = "Resources/Functions.plist";
Uri fileUri = new Uri(filename, UriKind.Relative);
StreamResourceInfo sr = Application.GetResourceStream(fileUri);
但上述执行后,SR为空。 不好。
我有一个在一个名为“资源”目录,这是我的项目目录的子目录名为“Functions.plist”文件。 当我右键单击它在Solution Explorer中,我看到它的建设行动“资源”,其拷贝到输出目录“复制,如果新”。
下面是加载它,或者至少我认为它做的.csproj文件的一部分:
<ItemGroup>
// AppManifest and WMAppManifest here
<Resource Include="Resources\**">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Resource>
可能是什么问题?
我最常做的是在设计加载的随机图像,然后我从XAML代码复制自动生成的路径,并把它作为我自己.CS代码的模板。
当然,如果它不是一个形象,我使用路径其他对象的模板。
它也可能帮助,如果你选择“始终复制”选项。
对于资源你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>
我不知道,但关键可能已经改变“资源”到“内容”。
我认为你可以得到这样的resouces。
string filename = "Resources\\Functions.plist";
Uri fileUri = new Uri(filename, UriKind.Relative);
StreamResourceInfo sr = Application.GetResourceStream(fileUri);
由于WP7的文件分隔符是斜杠,而不是反斜杠。
我希望这可以帮助。