WPF基本介绍

开发工具与关键技术:Visual Studio 2015
作者:邓李庆
撰写时间:2019年5月29日
下面给大家讲C/S与B/S区别和定义。C/S结构:即Client/Server(客户机/服务器)结构,是软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。是建立在局域网的基础上;B/S结构:即Browser/Server(浏览器/服务器)结构,C/S结构的一种变化或者改进的结构。在这结构下,用户界面完全通过www浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。是建立在广域网的基础上。
硬件环境不同:C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。安全不同:一般面向相对固定的用户群,对信息安全的控制能力很强,一般高度机密的信息系统采用。B/S建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网,租用设备,信息管理,有比C/S更强的适应范围,一般只要有操作系统和浏览器进行;安全不同:建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。C/S结构适宜,可以通过B/S发布部分可公开信息。B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。
程序架构不同:C/S程序可以更加注意流程,可以对权限多层效验,对系统运行速度可以较少考虑.B/S对安全以及访问速度的多重的考虑,建立在需要加优化的基础之上,比C/S有更高的要求B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持网络的构建的系统,SUN和IBM推的javaBean构件技术等,使B/S更加成熟。
XAML命名空间:开发语言会将用功能以类的形式封装,编译器可以有效识别具有相同命名的类,是通过类似树状结构来组织各种类,是一种较为有效的类名排列方式。这里的xmlns和xmlns:x的区别在于X作为别名,在应用时,以前缀形式出现,而xmlns作为默认命名空间,不使用前缀标识的元素,来自该命名空间;XAML命名空间的语法;xmlns:可选映射前缀=“命名空间描述”;没有加可选映射前缀的xmlns是WPF默认的命名空间,一个xaml文件只能有一个默认的命名空间,一个完整的xaml文件,必须具备两个命名空间见图:
在这里插入图片描述
控件有很多,也是有规律可循的,我们可以把控件分为6类:
布局控件:是可以容纳多个控件或者嵌套其他布局的控件,用于在UI上组织和排列控件。其父类为Panel
内容控件:只能容纳一个控件或者布局控件作为他的内容。所以经常借助布局控件来规划其内容。其父类为ContentControl
带标题内容控件:相当于一个内容控件,但是可以加一个标题,标题部分也可以容纳一个控件或者布局,其父类为HeaderedContentControl
条目控件:可以显示一列数据,一般情况下,是数据的类型是相同的。其共同的基类为ItemsControl,items属于itemcollection的集合类型,,所以每一个Item里面都可以放入一个Object类型对象,WPF会调用UI的 OnRender方法将UI元素呈现它会创建一个TextBlock,然后调用该对象的ToString()将字符串呈现在TextBlock上;ItemsSource用于绑定数据源,下面是它的类图2:
在这里插入图片描述
带标题的条目控件:和上面的带标题内容控件类同,其基类 为HeaderdeItemsControl
特殊内容控件:这类控件比较独立,但也比较常用,如 TextBox,TextBlock,Image等
文本控件:在PWF中,文本控件有三个,分别是:TextBox,RichTextBox和PasswordBox,类图如图下:
在这里插入图片描述
XAML五个布局元素:
Grid:网格。可以自定义行和列并通过行列的数量、行高列宽来调整控件的布局。近似Html中的table
DockPanel:泊靠式面板。内部元素可以选择泊靠的方向(上下左右),类似于Winform中设置控件的Dock属性
StackPanel:栈式面板。可将包含的元素在水平或垂直方向排成一条线,当移除一个元素后,后面的元素会自动向前填充空缺
WrapPanel:自动折行面板。内部元素在排满一行后能够自动折行,类似于Html中的流式布局
Canvas:画布。内部元素可以使用以像素为单位的绝对坐标进行定位,类似于Windows Form 的布局方式
Grid网格:它的子控件被放在一个一个实现定义好的小格子里面,整齐配列。Grid和其他各个Panel比较起来,功能最多也最为复杂。要使用Grid,首先要向RowDefinitions和ColumnDefinitions属性中添加一定数量的RowDefinitions和 ColumnDefinitions元素,从而定义行数和列数。而放置在Grid面板中的控件元素都必须显示采用附加属性语法定义其 放置所在的行和列,它们都是以0为基准的整型 值,如果没有显式设置任何行或 列,Grid将会隐式地将控件加入在第0行第0列。 由于Grid的组成并非简单的添加属性标记来区分行列,这也使得用户在实际应用中可以具体到某一单 元格中,所以布局起来就很精细了
泊靠式面板:DockPanel定义一个区域,在此区域中,您可以使子元素通过描点的形式排列,这些对象位于 Children 属性中。停靠面板类似于WinForm中控件的Dock属性。DockPanel会对每个子元素进行排序,并将根据指定的边进行停靠,多个停靠在同侧的元素则按顺序排序。
在DockPanel中,指定停靠边的控件,会根据定义的顺序占领边角,所有控件绝不会交叠。 默认情况下,后添加的元素只能使用剩余空间,无论对DockPanel的最后一个子元素设置任何停靠值,该子元素都将始终填满剩余的空间。如果不 希望最后一个元素填充剩余区域,可以将DockPanel属性LastChildFill设置为false,还必须为最后一个子元素显式指定停靠方向,见代码图:
在这里插入图片描述

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值