wpf中图片

星空う繁华 2021-05-17 11:19:03
private void imgLamp2_MouseUp(object sender, MouseButtonEventArgs e)
{
if (isOpen)
{
imgLamp2.Source = new BitmapImage(new Uri("images/LampOff.png", UriKind.Relative));
isOpen = false;
}
else
{
imgLamp2.Source = new BitmapImage(new Uri("images/LampOn.png", UriKind.Relative));
isOpen = true;
}
}
这是wpf中一段程序 这个if(isopen)中isopen有什么用?
imgLamp2.Source = new BitmapImage(new Uri("images/LampOn.png", UriKind.Relative));
还有大佬能不能说明一下上面这一行程序各个段的意思 ? 谢谢了!
...全文
20275 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
90e家 2021-05-21
  • 打赏
  • 举报
回复
感觉基本的常识你都不知道,好好去学习基础去吧,imgLamp2 这是当前的图片名称,imgLamp2.Source 这是用来绑定图片,因为source对应的参数是Image类型,所以要new 然后后面跟上路径就能转成图片,IsOpen就是个开关,你叫flag叫啥玩意都行,就是个bool值罢了,搞简单点,用文字表示不也行么,启用 禁用两种状态不香么
星空う繁华 2021-05-21
  • 打赏
  • 举报
回复
引用 15 楼 Eason0807的回复:
[quote=引用 10 楼 星空う繁华 的回复:][quote=引用 9 楼 Eason0807的回复:][quote=引用 7 楼 星空う繁华 的回复:][quote=引用 1 楼 Eason0807的回复:]UriKind. Relative表示前面那个路径是相对路径
imgLamp2.Source = new BitmapImage(new Uri("images/LampOn.png", UriKind.Relative)); 是不是这一行代码我只要改一下照片的路径就能在别处用了?[/quote] 不是用到别处,这行代码是"images/LampOn.png"这个相对路径加载图片,是根据这个路径加载图片的,你改了路径就加载你改后的图片,但是如果你改了之后的路径找不到文件就会报异常了[/quote] imgLamp2.Source = new BitmapImage(new Uri("images/LampOn.png", UriKind.Relative)); 这个开头的imgLamp2.Source什么意思[/quote] imgLamp2这个是控件的名称,Source是这个控件的属性,意思就是翻译后的字面意思,这个属性的值就是要加载的图片的url[/quote] 懂了懂了,谢谢
Eason0807 2021-05-20
  • 打赏
  • 举报
回复
引用 10 楼 星空う繁华 的回复:
[quote=引用 9 楼 Eason0807的回复:][quote=引用 7 楼 星空う繁华 的回复:][quote=引用 1 楼 Eason0807的回复:]UriKind. Relative表示前面那个路径是相对路径
imgLamp2.Source = new BitmapImage(new Uri("images/LampOn.png", UriKind.Relative)); 是不是这一行代码我只要改一下照片的路径就能在别处用了?[/quote] 不是用到别处,这行代码是"images/LampOn.png"这个相对路径加载图片,是根据这个路径加载图片的,你改了路径就加载你改后的图片,但是如果你改了之后的路径找不到文件就会报异常了[/quote] imgLamp2.Source = new BitmapImage(new Uri("images/LampOn.png", UriKind.Relative)); 这个开头的imgLamp2.Source什么意思[/quote] imgLamp2这个是控件的名称,Source是这个控件的属性,意思就是翻译后的字面意思,这个属性的值就是要加载的图片的url
星空う繁华 2021-05-19
  • 打赏
  • 举报
回复
引用 11 楼 exception92的回复:
https://www.wpf-tutorial.com/
这个网址要么加载很慢要么打不开
星空う繁华 2021-05-19
  • 打赏
  • 举报
回复
这个网址要么加载很慢要么打不开
阿布说不 2021-05-19
  • 打赏
  • 举报
回复
点一下,就是 打开的图片样式,再点一下就是关闭的图片样式, imgLamp2.Source 是给这个控制赋值,没必要这么写,复杂了
星空う繁华 2021-05-18
  • 打赏
  • 举报
回复
引用 9 楼 Eason0807的回复:
[quote=引用 7 楼 星空う繁华 的回复:][quote=引用 1 楼 Eason0807的回复:]UriKind. Relative表示前面那个路径是相对路径
imgLamp2.Source = new BitmapImage(new Uri("images/LampOn.png", UriKind.Relative)); 是不是这一行代码我只要改一下照片的路径就能在别处用了?[/quote] 不是用到别处,这行代码是"images/LampOn.png"这个相对路径加载图片,是根据这个路径加载图片的,你改了路径就加载你改后的图片,但是如果你改了之后的路径找不到文件就会报异常了[/quote] imgLamp2.Source = new BitmapImage(new Uri("images/LampOn.png", UriKind.Relative)); 这个开头的imgLamp2.Source什么意思
Eason0807 2021-05-18
  • 打赏
  • 举报
回复
引用 7 楼 星空う繁华 的回复:
[quote=引用 1 楼 Eason0807的回复:]UriKind. Relative表示前面那个路径是相对路径
imgLamp2.Source = new BitmapImage(new Uri("images/LampOn.png", UriKind.Relative)); 是不是这一行代码我只要改一下照片的路径就能在别处用了?[/quote] 不是用到别处,这行代码是"images/LampOn.png"这个相对路径加载图片,是根据这个路径加载图片的,你改了路径就加载你改后的图片,但是如果你改了之后的路径找不到文件就会报异常了
星空う繁华 2021-05-18
  • 打赏
  • 举报
回复
就是isopen可以用其他东西替换,然后整个程序只看isopen是 true还是flase ?
星空う繁华 2021-05-18
  • 打赏
  • 举报
回复
引用 1 楼 Eason0807的回复:
UriKind. Relative表示前面那个路径是相对路径
imgLamp2.Source = new BitmapImage(new Uri("images/LampOn.png", UriKind.Relative)); 是不是这一行代码我只要改一下照片的路径就能在别处用了?
Dear200892 2021-05-18
  • 打赏
  • 举报
回复
用isOpen来控制显示那张图片。
  • 打赏
  • 举报
回复
你注意看图片的入径,如果isOpen==True ,显示LampOn.png ,否则显示LampOn.png。这个isOpen作为一个全局变量来控制你显示的图片
xuzuning 2021-05-18
  • 打赏
  • 举报
回复
isOpen 只是普通的开关量,指示操作是否可以进行
desperaso 2021-05-18
  • 打赏
  • 举报
回复
这样就清楚了吧
if (isOpen) imgLamp2.Source = new BitmapImage(new Uri("images/LampOff.png", UriKind.Relative));
else imgLamp2.Source = new BitmapImage(new Uri("images/LampOn.png", UriKind.Relative));
isOpen != isOpen;
desperaso 2021-05-18
  • 打赏
  • 举报
回复
就是个表示状态的,就像开关,按一下显示开的图,再按一下显示关的图
Eason0807 2021-05-18
  • 打赏
  • 举报
回复
UriKind. Relative表示前面那个路径是相对路径
exception92 2021-05-18
  • 打赏
  • 举报
回复

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧