مشکل در کار با Resource در Wpf

ms_vb

Member
سلام استاد
چطور میتونم یه Image رو در Wpf به یه Resource ربط بدم؟
وقتی که با Visual Studio 2012 یه تصویر به Resource اضافه میکنم و بعد از خاصیت Source شی Image، تصویر مورد نظر رو انتخاب میکنم کد
کد:
Source="pack://siteoforigin:,,,/Resources/Stop.png"
در XAML نوشته میشه که در محیط Design مشکلی نداره و تصوریر رو نشون میده ولی زمان اجرا به مشکل بر میخوره و هیچ تصویری نشون نمیده!توی رویداد فرم لود هم رفتم که کد
کد:
ImgStop.Image= My.Resources._Stop
رو اونجا بنویسم دیدم که اصلا خاصیتی به نام Image نداره این شی و اصلا نمیدونم چطور میشه یک Image رو بهش پاس داد؟
با تشکر از راهنمایی های شما
 
آخرین ویرایش:

the_king

مدیرکل انجمن
سلام استاد
چطور میتونم یه Image رو در Wpf به یه Resource ربط بدم؟
وقتی که با Visual Studio 2012 یه تصویر به Resource اضافه میکنم و بعد از خاصیت Source شی Image، تصویر مورد نظر رو انتخاب میکنم کد
کد:
Source="pack://siteoforigin:,,,/Resources/Stop.png"
در XAML نوشته میشه که در محیط Design مشکلی نداره و تصوریر رو نشون میده ولی زمان اجرا به مشکل بر میخوره و هیچ تصویری نشون نمیده!توی رویداد فرم لود هم رفتم که کد
کد:
ImgStop.Image= My.Resources._Stop
رو اونجا بنویسم دیدم که اصلا خاصیتی به نام Image نداره این شی و اصلا نمیدونم چطور میشه یک Image رو بهش پاس داد؟
با تشکر از راهنمایی های شما
WPF همینه، یکسری امکانات اش به مراتب بیشتر از فرم های ویندوز ئه و در عوض یکسری امکانات بدیهی فرم های ویندوز رو نداره.

ابتدا در Solution Explorer پروژه تان اون تصاویری که در پوشه Resources قرار گرفته اند رو پیدا کنید. رویشان راست کلیک کرده و گزینه Properties را انتخاب کنید.
مشخصه Build Action شان را روی Resource قرار دهید.
حالا برای تبدیل Bitmap اون تصاویر به ImageSource از کد تبدیل کننده زیر کمک بگیرید :
کد:
System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap( [B][COLOR="#0000FF"]x[/COLOR][/B].GetHbitmap() _
    , IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions())

مثلا :
کد:
        ImgStop.Image = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap([B][COLOR="#0000FF"]My.Resources._Stop[/COLOR][/B].GetHbitmap() _
            , IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions())
 

جدیدترین ارسال ها

بالا