এক্সিকিউটিভ অ্যাসেমব্লিতে একটি সংস্থান লোড করার কোডে যেখানে আমার চিত্রটি Freq.png
ফোল্ডারে ছিল এবং এটি Icons
সংজ্ঞায়িত হয়েছে Resource
:
this.Icon = new BitmapImage(new Uri(@"pack://application:,,,/"
+ Assembly.GetExecutingAssembly().GetName().Name
+ ";component/"
+ "Icons/Freq.png", UriKind.Absolute));
আমি একটি ফাংশনও করেছি:
/// <summary>
/// Load a resource WPF-BitmapImage (png, bmp, ...) from embedded resource defined as 'Resource' not as 'Embedded resource'.
/// </summary>
/// <param name="pathInApplication">Path without starting slash</param>
/// <param name="assembly">Usually 'Assembly.GetExecutingAssembly()'. If not mentionned, I will use the calling assembly</param>
/// <returns></returns>
public static BitmapImage LoadBitmapFromResource(string pathInApplication, Assembly assembly = null)
{
if (assembly == null)
{
assembly = Assembly.GetCallingAssembly();
}
if (pathInApplication[0] == '/')
{
pathInApplication = pathInApplication.Substring(1);
}
return new BitmapImage(new Uri(@"pack://application:,,,/" + assembly.GetName().Name + ";component/" + pathInApplication, UriKind.Absolute));
}
ব্যবহার (অনুমান আপনি ফাংশনটি রিসোর্সহেল্পার ক্লাসে রেখেছেন):
this.Icon = ResourceHelper.LoadBitmapFromResource("Icons/Freq.png");
দ্রষ্টব্য : ডাব্লুপিএফ-তে এমএসডিএন প্যাক ইউআরআই দেখুন :
pack://application:,,,/ReferencedAssembly;component/Subfolder/ResourceFile.xaml