在DLL中获取文件夹地址

时间:2012-11-10 05:33:31

标签: wpf dll

根据此图片:

enter image description here

我在Main.data项目中有一个名为Gallery的文件夹。 我在主项目中添加了Main.Data.Dll作为参考。 我想以主窗口的形式显示这些图像。我将图像构建动作更改为资源。 我想知道如何在主项目中获取此文件夹地址?

主窗口中的

 private void LoadImages()
        {
            foreach (var imgaddress in Directory.GetFiles((Here), "*.jpg", SearchOption.AllDirectories))
            {
                //Do Some...
            }
        }

我必须写什么(这里)?

1 个答案:

答案 0 :(得分:1)

可能有一个更优雅的解决方案,但是这样的东西可以获得Main.Data中所有jpgs的资源字符串或URI:

private void LoadImages ()
{
    var asm = Assembly.LoadFrom("Main.Data.dll");
    var rm = new System.Resources.ResourceManager(asm.GetName().Name + ".g", asm);
    var resourceSet = rm.GetResourceSet(Thread.CurrentThread.CurrentCulture, true, true);
    var resourceUris = new List<Uri>();
    var resourceStrings = new List<String>();
    foreach (var resource in
        resourceSet.Cast<DictionaryEntry>().Where(resource => ((string) resource.Key).EndsWith("jpg")))
    {
        resourceStrings.Add((string)resource.Key);
        resourceUris.Add(
            new Uri(String.Format("pack://application:,,,/Main.Data;component/{0}",
                                    ((string) resource.Key))));
    }

    rm.ReleaseAllResources();

    // Do something with resourceStrings or resourceUris...

}