如何控制visible changed 事件,加载页面时只触发一次

一剑天琊雪 2016-08-01 09:09:17
我在加载页面时,使用了 Visible Changed 事件,但是加载一次页面,触发好几次。我看了一下,其它部分应该没有触发页面visible 的地方。
请问该如何处理?
...全文
2768 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
一剑天琊雪 2016-08-03
  • 打赏
  • 举报
回复
最终 换方案了,但是仍然感谢各位!
一剑天琊雪 2016-08-03
  • 打赏
  • 举报
回复
还是不行,load 之后会触发两次 visiblechange(不知道咋触发的),然后flag 永久=1,所以 还是会触发多次
SoulRed 2016-08-02
  • 打赏
  • 举报
回复
定义一个全局的静态变量,指定间隔时间内不触发就好
  • 打赏
  • 举报
回复
是不是,加载的时候不需要触发visiblechanged'事件,但是切换的时候,需要触发visiblechanged事件 int flag=0;//全局变量 Page_load中加上 { //初始化...... flag=1;//最后改变标记的值 } visiblechanged事件中加上 if(flag==1) { //触发事件 }
一剑天琊雪 2016-08-02
  • 打赏
  • 举报
回复
引用 7 楼 she6600 的回复:
定义一个标记 int flag=0; if(flag==0) { } else if(flag==1) { } 就看你有没有地方设置falg的值了
现在就是暂时没有地方设置flag 的值,我是刚入职的,之前的同事的做法是: 在WPF第一次进入页面时,将两个标签都进行加载,也就是flag已经会变成1,之后再两个标签之间切换的时候,页面是不会再加载的。现在又要添加一个功能,需要在切换的时候 触发visiblechanged事件 来操作。 可是 第一次进入页面的时候,visiblechanged 事件也会触发。 不知道 我是否说明白了。。。
  • 打赏
  • 举报
回复
引用 2 楼 u013759319 的回复:
[quote=引用 1 楼 she6600 的回复:] 触发一次后,去掉这个事件 label1.VisibleChanged -= new EventHandler(label1_VisibleChanged);
那请问,如果有两个标签,一个标签里有这个事件。如果在这两个标签之前频繁切换么?触发一次后,就去掉。之后切换 不会再触发了怎么办?[/quote] 你也可以在合适的位置加上这个事件 label1.VisibleChanged += new EventHandler(label1_VisibleChanged);
一剑天琊雪 2016-08-01
  • 打赏
  • 举报
回复
?请问 有木有人知道该咋整啊????
一剑天琊雪 2016-08-01
  • 打赏
  • 举报
回复
引用 1 楼 she6600 的回复:
触发一次后,去掉这个事件 label1.VisibleChanged -= new EventHandler(label1_VisibleChanged);
那请问,如果有两个标签,一个标签里有这个事件。如果在这两个标签之前频繁切换么?触发一次后,就去掉。之后切换 不会再触发了怎么办?
  • 打赏
  • 举报
回复 1
触发一次后,去掉这个事件 label1.VisibleChanged -= new EventHandler(label1_VisibleChanged);
  • 打赏
  • 举报
回复
定义一个标记 int flag=0; if(flag==0) { } else if(flag==1) { } 就看你有没有地方设置falg的值了
一剑天琊雪 2016-08-01
  • 打赏
  • 举报
回复
再顶一下,求 大神指导。
一剑天琊雪 2016-08-01
  • 打赏
  • 举报
回复
引用 4 楼 she6600 的回复:
[quote=引用 2 楼 u013759319 的回复:] [quote=引用 1 楼 she6600 的回复:] 触发一次后,去掉这个事件 label1.VisibleChanged -= new EventHandler(label1_VisibleChanged);
那请问,如果有两个标签,一个标签里有这个事件。如果在这两个标签之前频繁切换么?触发一次后,就去掉。之后切换 不会再触发了怎么办?[/quote] 你也可以在合适的位置加上这个事件 label1.VisibleChanged += new EventHandler(label1_VisibleChanged);[/quote] 这个我到是想到了。。。咳咳暂时没找到合适的位置,,,有没有其它办法啊?

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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