Silverlight 4.0 从Silverlight类库访问应用程序中的resx
可以使用以下代码访问Silverlight中的资源文件:Silverlight 4.0 从Silverlight类库访问应用程序中的resx,silverlight-4.0,resx,xap,Silverlight 4.0,Resx,Xap,可以使用以下代码访问Silverlight中的资源文件: ResourceManager rm = new ResourceManager("MyLibraryNamespace.MyFolder.MyResources", Assembly.GetExecutingAssembly()); 然而,在我的应用程序中,这段代码并不在应用程序本身中,而是在Silverlight类库中,应用程序引用了它;将名称空间更改为“MyAppNamespace”只会产生错误 如何从Silverlight类库访
ResourceManager rm = new ResourceManager("MyLibraryNamespace.MyFolder.MyResources", Assembly.GetExecutingAssembly());
然而,在我的应用程序中,这段代码并不在应用程序本身中,而是在Silverlight类库中,应用程序引用了它;将名称空间更改为“MyAppNamespace”只会产生错误
如何从Silverlight类库访问xap文件中的资源?这里有一个不错的视频: 诀窍是编写一个“代理”类,以便可以引用XAML中的字符串。发件人: 在XAML中(在静态资源中添加类之后):
为了实现我想要的,我必须做以下几点:
var assembly = Application.Current.GetType().Assembly;
之后,我可以使用以下资源创建ResourceManager:
var rm = new System.Resources.ResourceManager(name, assembly);
其中name是我第一篇文章的路径。这很好,我也能做到这一点 在我的例子中,应用程序之间共享相同的库,因此我动态提取程序集的名称:
var ast=assembly.FullName;
char[]定界=新的char[]{',};
string[]parts=ast.Split(定界);
var gResources=new System.Resources.ResourceManager(部件[0]+“此处的资源路径”,程序集);
您好,很抱歉没有具体说明。我可以通过绑定从XAML访问资源,我知道如何做到这一点。关键是,只有当我的代码在应用程序中时,我才能这样做。如果我把代码放在Silverlight类库中,我就不能再访问这些资源(它们仍然保留在应用程序中);我正在尝试使用ResourceManager ResourceManager=new ResourceManager(“/AppNamespace;component/Resources”,Assembly.getExecutionGassembly());但这也不行——事实上,这段代码甚至在应用程序中也不起作用。非常感谢Dario Solera,它以最简单的方式解决了我的问题。
var assembly = Application.Current.GetType().Assembly;
var rm = new System.Resources.ResourceManager(name, assembly);