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

在Silverlight应用程序中存储字符串资源的标准方法,silverlight,silverlight-3.0,Silverlight,Silverlight 3.0,我正在构建一个Silverlight3应用程序,我想知道存储应用程序使用的字符串文本的最佳方式是什么 理想情况下,这些字符串将外部化为某种XML或独立可编辑的格式,而不是二进制编译到我的应用程序中。使用资源文件(.resx)存储字符串。使用资源文件(.resx)存储字符串。资源文件将是存储此类字符串的最佳位置资源文件将是存储此类字符串的最佳位置我倾向于在Xaml文件中使用资源字典来实现这一点 <ResourceDictionary xmlns="http://schemas.mic

我正在构建一个Silverlight3应用程序,我想知道存储应用程序使用的字符串文本的最佳方式是什么


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

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

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

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

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

我倾向于在Xaml文件中使用
资源字典来实现这一点

<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:类。您不会将其作为内容或资源包含在应用程序构建中。您只需将其包含在ClientBin文件夹中,XAP将存储在web站点上


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

我倾向于在Xaml文件中使用
资源词典来实现这一点

<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:类。您不会将其作为内容或资源包含在应用程序构建中。您只需将其包含在ClientBin文件夹中,XAP将存储在web站点上


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

没有“标准”是“外部化”字符串资源。我猜第二句对您来说实际上比第一句更重要。没有“标准”是“外部化”字符串资源。我猜第二句对你来说比第一句更重要。我不认为这会给我带来我想要的重新品牌,因为资源文件被编译到我的.dll中,而我希望这个文件在运行时外部化。这是关键:“这不是二进制编译到我的应用程序”我不认为这给了我我想要的重新品牌,虽然是正确的,因为资源文件被编译到我的.dll中,而我希望这个文件在运行时外部化。这是关键:“这不是二进制编译到我的应用程序”好酷。这比仅仅拥有一个原始xml文件并解析该原始xml文件有什么好处吗?i、 e.-这正是我在这里做的,对吗?@keas:当然,使用自己的xml文件会非常简单,但您需要编写自己的xml处理程序,将xml转换为某种形式的字典。因此,我在这里使用Xaml的主要优点是
XamlReader
可以为您完成所有这些工作。好吧,酷。这比仅仅拥有一个原始xml文件并解析该原始xml文件有什么好处吗?i、 e.-这正是我在这里做的,对吗?@keas:当然,使用自己的xml文件会非常简单,但您需要编写自己的xml处理程序,将xml转换为某种形式的字典。因此,我在这里介绍的使用Xaml的主要优点是,
XamlReader
可以为您完成所有工作。