FrameworkElement有两个初始化和一个卸载事件

还是以代码来示例

一.Initialized
触发条件(元素拥有容器,并初始化)
当元素实例化以后并被加入到逻辑树中时会触发此事件,
此事件可以获取到元素的初始值

public Demo1()
{InitializeComponent();panel = new StackPanel();Button btn = new Button();//触发Initializedbtn.Initialized += new EventHandler(btn_Initialized);btn.Content = "xx";//不触发Initializedpanel.Children.Add(btn);
}private StackPanel panel;void btn_Initialized(object sender, EventArgs e)
{}

二.Loaded
触发条件(处于逻辑树中(处于加载状态不一定是视觉化))
panelDemo处于视觉树中
当重新被添加到容器中时,此事件会重新触发

Button btn = new Button();
btn.Loaded += new RoutedEventHandler(btn_Loaded);
panelDemo.Children.Add(btn);

三.Unloaded
处于视觉化状态下,并移除此元素则触发此事件

注意点:
在数据绑定的情况下,特别是TabControl这种控件,为提升效率(元素越多速度越慢),每次只会显示一个TabItem的Content,其他的不在视觉树中,那么只能操作逻辑树

转载于:https://www.cnblogs.com/Clingingboy/archive/2010/05/17/1737242.html

WPF技巧(5)元素的加载与卸载(Loaded and Unloaded)相关推荐

  1. jQuery页面滚动图片等元素动态加载实现

    一.关于滚动显屏加载 常常会有这样子的页面,内容很丰富,页面很长,图片较多.比如说光棍节很疯狂的淘宝商城页面. 或者是前段时间写血本买了个高档耳机的京东商城页面,或者是新浪微博之类. 这些页面图片数量 ...

  2. 1月11日学习内容整理:请求库selenium之选择器,等待元素被加载

    首先引入: from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdr ...

  3. python如何校验页面元素是否加载完毕_爬虫(八十七)等待页面加载完成(Waits)...

    现在的大多数的Web应用程序是使用Ajax技术.当一个页面被加载到浏览器时, 该页面内的元素可以在不同的时间点被加载.这使得定位元素变得困难, 如果元素不再页面之中,会抛出 ElementNotVis ...

  4. key 和secret_Java Secret:加载和卸载静态字段

    key 和secret 总览 首先,很自然地假设静态字段具有特殊的生命周期,并且在应用程序的生命周期中一直存在. 您可以假设它们存在于内存中的特殊位置,例如C或类元信息的perm gen中的内存开始. ...

  5. Java Secret:加载和卸载静态字段

    总览 首先,很自然地假设静态字段具有特殊的生命周期,并且在应用程序的生命周期中一直存在. 您可以假设它们存在于内存中的特殊位置,例如C或类元信息的perm gen中的内存开始. 但是,得知静态字段驻留 ...

  6. 通过应用程序域AppDomain加载和卸载程序集之后,如何再返回原来的主程序域

    实现目的:动态加载dll,执行完毕之后可以随时卸载掉,并可以替换这些dll,以在运行中更新dll中的类. 其实就是通过应用程序域AppDomain加载和卸载程序集. 在这方面微软有篇文章http:// ...

  7. C#.Net 如何动态加载与卸载程序集(.dll或者.exe)6-----在不卸载程序域的前提下替换程序集文件。...

    原文:C#.Net 如何动态加载与卸载程序集(.dll或者.exe)6-----在不卸载程序域的前提下替换程序集文件. 当某个程序集文件被载入AppDomain,该文件在AppDomain.Unloa ...

  8. C#中动态加载和卸载DLL

    在C++中加载和卸载DLL是一件很容易的事,LoadLibrary和FreeLibrary让你能够轻易的在程序中加载DLL,然后在任何地方卸载.在C#中我们也能使用Assembly.LoadFile实 ...

  9. U3D assetbundle加载与卸载的深入理解

    U3D assetbundle加载与卸载的深入理解 using UnityEngine; using System.Collections; using System;public class tes ...

最新文章

  1. 【Qt】数据库用户接口层
  2. C#趣味程序---理财高手
  3. aps后缀是什么文件_APS审核真的取消了么?
  4. ECSHOP隐藏帮助中心文章页的评论功能方法
  5. 开发人员的幸福:您需要知道的
  6. 使用DBUtils实现增删改查
  7. 牛客NOIP暑期七天营-普及组1 解题报告
  8. 后台管理系统推荐(PHP)
  9. 【C补充】指向指针或函数的指针
  10. 文件编码格式转换工具
  11. 用C语言实现英文单词排序
  12. Vi IMproved
  13. Java工作小组组名,起组名和口号大全
  14. 12张图带你轻松了解 calico 6种场景下宿主机和pod互访的iptables规则链流转情况【下】
  15. prometheus+grafana简介与linux下的安装
  16. lineNumber: 1; columnNumber: 1; 前言中不允许有内容。(服务器开启时)
  17. FireAlpaca(电脑绘画软件)官方中文版V2.7.7 | 火羊驼绘画软件下载 | 电脑绘画软件哪个好用?
  18. 使用Process Monitor对病毒进行行为分析
  19. 如何去除Excel中的重复的行数据
  20. unity终极抗锯齿抗白边黑边投影阴影不正常问题解决

热门文章

  1. 分享一个普通程序员的“沪漂”六年的历程以及感想
  2. VS2017 -error LNK1104: 无法打开文件“msvcprtd.lib”
  3. 6-25漏洞利用-irc后门利用
  4. windows下的host文件在哪里,有什么作用?
  5. 依赖注入依赖注入容器
  6. Git远程分支管理(四)
  7. CGAL求最小外包矩形
  8. C++关键段、原子锁、互斥量及信号量的实现和区别
  9. c# 选中dataGridView中的一行将其删除
  10. 如何修改需要以管理员身份才能操作的文件(极其简单的技巧)