在Silverlight应用程序中存储字符串资源的标准方法

时间:2011-10-12 18:25:42

标签: silverlight silverlight-3.0

我正在构建一个Silverlight 3应用程序,我想知道存储字符串文本以供应用程序使用的最佳方法是什么。

理想情况下,这些字符串将以某种XML或可独立编辑的格式外部化,而不是二进制编译到我的应用程序中。

3 个答案:

答案 0 :(得分:1)

我倾向于在Xaml文件中使用ResourceDictionary来实现此目的。

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
>
    <sys:String x:Key="hello">Hello</sys:String>
    <sys:String x:Key="world">World</sys:String>
</ResourceDictionary>

请注意,此文件没有x:Class。您不会在应用内置中将其包含为内容或资源。您只需将其包含在XAP存储在网站上的ClientBin文件夹中即可。

然后,您可以使用WebClient DownloadStringAsync下载此文件,并通过XamlReader推送生成的字符串,从而获得ResourceDictionary的实例,您现在可以使用该实例来解析字符串引用。实际上,如果将此字典添加到App.Resources的合并字典中,则其项目可以解析为静态资源。

答案 1 :(得分:0)

使用资源文件(.resx)存储字符串。

答案 2 :(得分:0)

资源文件将是存储此类字符串的最佳位置