According This Images:
I have a folder named Gallery in Main.data Project.
I added Main.Data.Dll as reference in main project.
I want to show this images in mainwindow form.I change images build action to resource.
I want to know how can i get this folder address in main project?
in mainwindow:
private void LoadImages()
{
foreach (var imgaddress in Directory.GetFiles((Here), "*.jpg", SearchOption.AllDirectories))
{
//Do Some...
}
}
What Do i must write(Here)?
解决方案
There's probably a more elegant solution, but something like this would get you the resource strings or URIs for all the jpgs in Main.Data:
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();
var resourceStrings = new List();
foreach (var resource in
resourceSet.Cast().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...
}