PDA

View Full Version : سوال: تغییر تصویر پس زمینه wrappanel با C#



amin_sltny
یک شنبه 20 مهر 1393, 12:09 عصر
سلام دوستان من تصویر پس زمینه یک wrappanel را با کد زیر عوض می کنم

if (StateClient == StatusClient.DOWN) {
Assembly myAssembly = Assembly.GetExecutingAssembly();
BitmapImage imageSource = new BitmapImage();
imageSource = new BitmapImage(new Uri("pack://application:,,,/" + myAssembly.FullName + ";component/Images/Monitoring/ClientOff.png"));
ImageBrush brush = new ImageBrush(imageSource);
Panel_Client.Background = brush;
}
else
{
Assembly myAssembly = Assembly.GetExecutingAssembly();
BitmapImage imageSource = new BitmapImage();
imageSource = new BitmapImage(new Uri("pack://application:,,,/" + myAssembly.FullName + ";component/Images/Monitoring/ClientOn.png"));
ImageBrush brush = new ImageBrush(imageSource);
Panel_Client.Background = brush;
}
Panel_Client.UpdateLayout();


اما نمی دونم چرا وقتی شرط ما false باشه و به قسمت else میاد تصویر عوض نمیشه و همون تصویر clientoff.png باقی می مونه. این در حالیه که من جایه دو قسمت if و else را هم با هم عوض کردم این مشکل برای clienton.png باقی بود و تصویر عوض نمی شد؟ مشکل چی هست؟

ممنون

elec60
دوشنبه 21 مهر 1393, 00:09 صبح
شاید هر دو تصویر دقیقا یکی هستند و فقط اسمشون فرق میکنه.

amin_sltny
دوشنبه 21 مهر 1393, 08:32 صبح
شاید هر دو تصویر دقیقا یکی هستند و فقط اسمشون فرق میکنه.

نه عکس ها یکی زمینش سبزه و یکی خاکستری رنگ وقتی جای کد ها را عوض می کنم عکس ها را درست نشون میده. در واقع عکسی که توی قسمت else باشه را نشون نمیده

elec60
سه شنبه 22 مهر 1393, 09:03 صبح
سورستو بده تا تست کنم. حتما یه جایی اشکال داره.

کد StateClient == StatusClient.DOWN رو به StateClient != StatusClient.DOWN تبدیل کن ببین اصلا عکس دوم رو نشون میده. چون شاید همیشه شرطت true میشه

amin_sltny
سه شنبه 22 مهر 1393, 09:28 صبح
سورستو بده تا تست کنم. حتما یه جایی اشکال داره.

کد StateClient == StatusClient.DOWN رو به StateClient != StatusClient.DOWN تبدیل کن ببین اصلا عکس دوم رو نشون میده. چون شاید همیشه شرطت true میشه

ممنون دوستان مشکل حل شد.