مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

آموزشگاه برنامه نویسان

تعویض تصویر با رویدادهای موس داون و موس آپ

دوشنبه, 23 بهمن 1396 23:40

تعویض تصویر با رویدادهای موس داون و موس آپ

با سلام . اساتید محترم، سایت Code Scratcher مطلبی رو برای نمایش پس ورد گذاشته بود که قسمتی از رو من نتونستم پیاده کنم. عزیزان راهنمائی کنند:

کل داستان اینه که می خواد یک تصویر رو در رویدادهای متفاوت مثل موس داون یا موس آپ به تصویری دیگر تغییر بده.

اینکه قبل از  هر چیز یک string می سازه

string AppPath = System.IO.Directory.GetCurrentDirectory();

و در رویداد لود سورس تصویر رو اینطور تعریف می کنه 

imgShowPass.Source = new BitmapImage(new Uri(AppPath + "/img/Show.png"));

حالا من وقتی تا اینجای کار پیش برم اگر برنامه رو اجرا کنم از من خطا می گیره که در آدرسی که به پوشه ی  Debug ختم میشه همچین فایلی

/img/Show.png وجود نداره

چه چیزی رو باید تغییر بدم که کار ادامه پیدا کنه

توضیح اینکه در پروژه من یک فولدر درست کردم به اسم imgکه تصاویر در اونجا به پروژه ضمیمه شده.

آکادمی برنامه نویسان تلگرام برنامه نویسان
پنج شنبه, 26 بهمن 1396 17:19

سلام

Uri شما غلط هستش

باید به شکل زیر بنویسین

"pack://application:,,,/img/Show.png"

البته راه های دیگه ای هم داره نوشتن Package Source

کسانی که از این پست تشکر کرده اند : farzadini,
جمعه, 27 بهمن 1396 18:39

خیلی متشکر از توجه شما  فقط اگر منظورتون رو درست فهمیدم یعنی من این خط رو 

Uri(AppPath + "/img/Show.png")

به این شکل تبدیل کنم؟


Uri (pack://application:,,,/img/Show.png)

آخه الان که چک کردم اصلا من وقتی بعد از Uri پرانتزو باز می کنم چیزی در لیست به اسم Pack ندارم

جمعه, 27 بهمن 1396 22:32

نه دوست عزیز

باید به شکل زیر بنویسی Uri ٰرو، شما "" رو جای اشتباهی گذاشتی

AsembleyName اسم پروژتون هست و باید با اسم پروژتون جایگزین شه

new Uri("pack://application:,,,/AssemblyName;component/img/eye_inv.png")

پارامتر ورودی new BitmapImage باید دستور new Uri‌ بالا باشه

در لینک زیر کامل توضیح داده شده 

https://stackoverflow.com/questions/350027/setting-wpf-image-source-in-code

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید