zoukankan      html  css  js  c++  java
  • WPF基础系列之 控件与布局

    WPF控件设计的理念
        程序的本质是“数据+算法”:用户输入原始数据,算法处理原始数据并得到结果数据。问题在于程序如何将结果数据显示给用户。同样一组数组,可以用不同的形式进行显示。可以用控制台的方式。也可以用图形化用户界面的方式。GUI的方便之处在于它对数据表达的直观性,有效避免了一堆抽象数据的痛苦,提高了工作效率,普及了计算机的操作。在WPF之前经历了一个漫长的发展阶段,有Windows API调用Windows底层绘图函数,使用C语言,最原始也是最基础的一种方式。在此基础上又发展了MFC,使用C++语法将原始的Win32 API函数封装成控件类。
        在WPF时代使用了专门的UI设计语言并引入由数据驱动UI的理念。首先:之前几代GUI方法论只能使用编程语言进行UI设计,而WPF具有专门用于UI设计的XAML;其次:前几代在UI与数据的交互方面是由Windows消息到控件事件一脉相承,始终是把UI控件放在主导地位而把数据放在被动地位,用UI来驱动数据的改变,WPF在事件驱动的基础上引入了数据驱动界面的理念,让数据重归核心地位而让UI回归数据表达者的位置。

    常用控件分类
    ①  布局控件:可以容纳多个控件或嵌套其他布局控件,用于在UI上组织和排列控件。Grid、StackPanel、DockPanel等控件属于此类。它们拥有共同的父类Panel。
    ②  内容控件:只能容纳一个其他控件或布局控件作为它的内容。Window、Button等控件属于此类,因为只能容纳一个控件作为其内容,所以经常需要借助布局控件来规划其内容。它们的共同父类是ContentControl。
    ③  带标题内容控件:相当于一个内容控件,但可以加一个标题,标题部分亦可容纳一个控件或布局。GroupBox、TabItem等属于此类。它们的共同父类是HeaderContentControl。
    ④  条目控件:可以显示一列数据,一般情况下这列数据的类型相同。此类控件包括ListBox、ComboBox等。它们的共同基类是ItemsControl。此类控件在显示集合类型数据方面功能非常强大。
    ⑤  带标题条目控件:相当于一个条目控件加上一个标题显示区。TreeViewItem、MenuItem都属于此类控件。这些控件往往用于显示层级关系数据,结点显示在其Header区域,子级结点则显示在其条目区域。此类控件的共同基类是HeaderedItemsControl。
    ⑥  特殊内容控件:如TextBox容纳字符串、TextBlock可以容纳可自由控制格式的文本、Image容纳图片类型数据...这类控件相对比较独立。
    典型结构图
    image

  • 相关阅读:
    faster with MyISAM tables than with InnoDB or NDB tables
    w-BIG TABLE 1-toSMALLtable @-toMEMORY
    Indexing and Hashing
    MEMORY Storage Engine MEMORY Tables TEMPORARY TABLE max_heap_table_size
    controlling the variance of request response times and not just worrying about maximizing queries per second
    Variance
    Population Mean
    12.162s 1805.867s
    situations where MyISAM will be faster than InnoDB
    1920.154s 0.309s 30817
  • 原文地址:https://www.cnblogs.com/lihuali/p/7543019.html
Copyright © 2011-2022 走看看