哨兵

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  1. 自定义Panel控件的布局过程分两步:计算子元素尺寸和安排子元素布局,分别对应如下函数:
    • MeasureOverride(Size contraint):参数constraint表示所有子元素大小都要在contraint的范围内,调用每个子元素的Measure(Size size)方法确定子元素的size,参数size表示限制大小,即元素的大小要限制在size内,可以将size.X和size.Y都设置为Double.PositiveInfinity,这样子元素可以获取他们希望的所有控件。如果子元素的Width和Height设置了Auto,Measure方法会根据内容和Alignment属性计算出相应的Size。如果如果都设置了具体数值,Measure方法会返回具体的执行完Measure函数后控件才会渲染自身,UIElement.DisiredSize保存了子元素的实际Size
    • ArrangeOverride(Size constrain):参数contrain表示所有子元素布局都要在Size范围内,调用每个子元素的Arrange(point,size)方法进行布局。size表示UIElement的实际尺寸的限制,可以使用UIElement.DesiredSize 也可以指定新的Size,但不能用Double.PositiveInfinity。如果指定的新Size 比设置的Width属性小,则会被截取,如果比Width属性大,则实际宽度为Width属性。如果设置了HorizontalAlignment=Stretch,则Width就是size的宽度
  2. 整个布局过程先Measure获取Element的尺寸,再Arrange进行布局,如果设置了新size,布局后Element的尺寸还会变化,所以Measure获取的尺寸不是最终的Size,最终的Size取决于Arrange函数
  3. WMI:windows管理规范,是windows管理系统的核心
  4. ManagementEventWatcher类:根据指定的事件查询(WqlEventQuery)预定临时事件通知,事件查询的语句与SQL查询语句相似:
    Select * From __InstanceCreationEvent within 1 where(TargetInstance isa Win32_process AND TargetInstance.Name="processName")
    Within:表示事件轮询间隔
    From:指事件类型
  5. WMI事件类型分为:
    • 内部事件:当类实例被创建修改删除时,WMI响应这些内部的数据变化,这些信息都存储在CIM库中,CIM库是存储所有实例的容器
    • 外部事件:用户自定义的事件
    • 计时器事件:由计时器发布
  6. WMI class: http://msdn.microsoft.com/en-us/library/aa394554(v=vs.85).aspx
  7. 自定义Panel控件的布局过程分两步:计算子元素尺寸和安排子元素布局,分别对应如下函数:
    • MeasureOverride(Size contraint):参数constraint表示所有子元素大小都要在contraint的范围内,调用每个子元素的Measure(Size size)方法确定子元素的size,参数size表示限制大小,即元素的大小要限制在size内,可以将size.X和size.Y都设置为Double.PositiveInfinity,这样子元素可以获取他们希望的所有控件。如果子元素的Width和Height设置了Auto,Measure方法会根据内容和Alignment属性计算出相应的Size。如果如果都设置了具体数值,Measure方法会返回具体的执行完Measure函数后控件才会渲染自身,UIElement.DisiredSize保存了子元素的实际Size
    • ArrangeOverride(Size constrain):参数contrain表示所有子元素布局都要在Size范围内,调用每个子元素的Arrange(point,size)方法进行布局。size表示UIElement的实际尺寸的限制,可以使用UIElement.DesiredSize 也可以指定新的Size,但不能用Double.PositiveInfinity。如果指定的新Size 比设置的Width属性小,则会被截取,如果比Width属性大,则实际宽度为Width属性。如果设置了HorizontalAlignment=Stretch,则Width就是size的宽度
  8. 整个布局过程先Measure获取Element的尺寸,再Arrange进行布局,如果设置了新size,布局后Element的尺寸还会变化,所以Measure获取的尺寸不是最终的Size,最终的Size取决于Arrange函数
posted on 2014-09-11 20:20  哨兵  阅读(339)  评论(0编辑  收藏  举报