WPF通用控制事件

Click:当控件被单击时发生。某些情况下,当用户按下Enter键时也会发生这样的事件。

Drop:当拖曳操作完成时发生,也就是说,当用户将某个对象拖曳dao该控件上,然后松开鼠标时发生

DragEnter:当某个对象被拖曳进入该控件的边缘范围内时发生

DragLeave:当某个对象呗拖曳出该控件的边缘范围外时发生

DragOver:当某个对象呗拖曳到控件上时发生

KeyDown:当该控件具有焦点,并且某个按键被按下时发生。该事件总在KeyPress和KeyUp事件之前发生

KeyUp:当该控件具有焦点,并且某个按键被释放时发生。该事件总在KeyDowm事件后发生

GotFocus:当该控件失去焦点时发生。请勿使用该控件对控件执行验证操作。应该改用Validating和Validated

MouseDoubleClick:当双击该控件时发生

MouseDown:当鼠标指针经过某个控件,鼠标按钮被按下时发生。该事件与Click事件并不相同,因为MouseDown事件在按钮被按下后,在其释放前发生

MouseMove:当鼠标经过控件时持续发生

MouseUp:当鼠标指针经过控件,而鼠标按钮又被释放时发生

Pancel布局控件

Canvas——该控件允许以任何合适的方式放置子控件。它不会对子控件的位置施加任何限制,但不会对位置摆放提供任何辅助。

DockPanel——该控件可以让其中的子控件贴靠到自己四条边中的任意一边。最后一个子控件则可以充满剩余区域。

Grid——该控件让子控件的定位变得比较灵活。可将该控件的布局分为若干行和若干列,这样就可以在网络布局中对齐控件。

StackPanel——该控件能够按照水平方向或者垂直方向依次对子控件进行排列。

WrapPanel——与StackPanel一样,该控件也能够按照水平方向或垂直方向依次对子控件进行排列,但它不是按照一行或一列来排序,而是根据可用空间大小以多行多列的方式排列。

Canvas:

 <Canvas Background="AliceBlue">
<Rectangle Canvas.Left="50" Canvas.Top="50" Height="40" Width="100"
Stroke="Black" Fill="Chocolate"/>
<Rectangle Canvas.Left="198" Canvas.Top="121" Height="40" Width="100"
Stroke="Black" Fill="Bisque"/>
</Canvas>

DockPanel:

<DockPanel Background="AliceBlue">
<Border DockPanel.Dock="Top" Padding="10" Margin="5"
Background="Aquamarine" Height="45">
<Label>1) DockPanel.Dock="Top"
</Label>
</Border>
<Border DockPanel.Dock="Top" Padding="10" Margin="5"
Background="PaleGoldenrod" Height="45" Width="200">
<Label>2) DockPanel.Dock="Top"
</Label>
</Border>
<Border DockPanel.Dock="Left" Padding="10" Margin="5"
Background="Yellow" Width="200" HorizontalAlignment="Right">
<Label>3) DockPanel.Dock="Left"
</Label>
</Border>
<Border DockPanel.Dock="Bottom" Padding="10" Margin="5"
Background="Bisque" Width="200" HorizontalAlignment="Right">
<Label>4) DockPanel.Dock="Right"
</Label>
</Border>
<Border Padding="10" Margin="5" Background="BlueViolet">
<Label Foreground="White">5) Last control
</Label>
</Border>
</DockPanel>

StackPanel:

 <StackPanel HorizontalAlignment="Left" Height="128" VerticalAlignment="Top" Width="284"
Orientation="Horizontal">
<Button Content="Button" Height="128" VerticalAlignment="Top" Width="75"/>
<Button Content="Button" Height="128" VerticalAlignment="Top" Width="75"/>
<Button Content="Button" Height="128" VerticalAlignment="Top" Width="75"/>
</StackPanel>
<StackPanel HorizontalAlignment="Left" Height="128" VerticalAlignment="Top"
Width="284" Margin="0,128,0,0" Orientation="Vertical">
<Button Content="Button" HorizontalAlignment="Left" Width="284"/>
<Button Content="Button" HorizontalAlignment="Left" Width="284"/>
<Button Content="Button" HorizontalAlignment="Left" Width="284"/>
</StackPanel>

WrapPanel:

<WrapPanel Background="AliceBlue">
<Rectangle Fill="#FF000000" Height="50" Width="50" Stroke="Black"
RadiusX="10" RadiusY="10"/>
<Rectangle Fill="#FF111111" Height="50" Width="50" Stroke="Black"
RadiusX="10" RadiusY="10"/>
<Rectangle Fill="#FF222222" Height="50" Width="50" Stroke="Black"
RadiusX="10" RadiusY="10"/>
<Rectangle Fill="#FFFFFFFF" Height="50" Width="50" Stroke="Black"
RadiusX="10" RadiusY="10"/>
</WrapPanel>

注:摘抄自《c#入门经典》

WPF学习小记的更多相关文章

  1. mongodb入门学习小记

    Mongodb 简单入门(个人学习小记) 1.安装并注册成服务:(示例) E:\DevTools\mongodb3.2.6\bin>mongod.exe --bind_ip 127.0.0.1 ...

  2. WPF学习开发客户端软件-任务助手(下 2015年2月4日代码更新)

    时光如梭,距离第一次写的 WPF学习开发客户端软件-任务助手(已上传源码)  已有三个多月,期间我断断续续地对该项目做了优化.完善等等工作,现在重新向大家介绍一下,希望各位可以使用,本软件以实用性为主 ...

  3. javascript学习小记(一)

    大四了,课少了许多,突然之间就不知道学什么啦.整天在宿舍混着日子,很想学习就是感觉没有一点头绪,昨天看了电影激战.这种纠结的情绪让我都有点喘不上气啦!一点要找点事情干了,所以决定找个东西开始学习.那就 ...

  4. WPF学习05:2D绘图 使用Transform进行控件变形

    在WPF学习04:2D绘图 使用Shape绘基本图形中,我们了解了如何绘制基本的图形. 这一次,我们进一步,研究如何将图形变形. 例子 一个三角形,经Transform形成组合图形: XAML代码: ...

  5. WPF学习之资源-Resources

    WPF学习之资源-Resources WPF通过资源来保存一些可以被重复利用的样式,对象定义以及一些传统的资源如二进制数据,图片等等,而在其支持上也更能体现出这些资源定义的优越性.比如通过Resour ...

  6. WPF学习之路初识

    WPF学习之路初识   WPF 介绍 .NET Framework 4 .NET Framework 3.5 .NET Framework 3.0 Windows Presentation Found ...

  7. WPF学习拾遗(二)TextBlock换行

    原文:WPF学习拾遗(二)TextBlock换行 下午在帮组里的同事解决一个小问题,为了以后方便,把就把它收集一下吧. 新建一个TextBlock作为最基础的一个控件,他所携带的功能相对于其他的控件要 ...

  8. WPF学习(8)数据绑定

    说到数据绑定,其实这并不是一个新的玩意儿.了解asp.net的朋友都知道,在asp.net中已经用到了这个概念,例如Repeater等的数据绑定.那么,在WPF中的数据绑定相比较传统的asp.net中 ...

  9. js 正则学习小记之匹配字符串

    原文:js 正则学习小记之匹配字符串 今天看了第5章几个例子,有点收获,记录下来当作回顾也当作分享. 关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配.(因为我想学完之后写个语法高 ...

随机推荐

  1. 【HeadFirst设计模式】13.与设计模式相处

    模式: 是在某情境下,针对某问题的某种解决方案. 要点: 让设计模式自然而然地出现在你的设计中,而不是为了使用而使用. 设计模式并非僵化的教条,你可以依据自己的需要采用或者进行调整. 总是使用最简单的 ...

  2. Unix/Linux之命令备忘录

    ps:是显示瞬间进程的状态,并不动态连续 kill:用于杀死进程或者给进程发送信号 // 在Linux下查看所有java进程命令 ps -ef | grep java: //  停止所有java进程命 ...

  3. .NET高端职位招聘要求

    系统架构师: 1.硕士及以上学历,博士有项目成果者优先: 2.五年以上工作经验,三年以上互联网经验,一年以上大型软件项目总体设计.分析.架构经验,有移动互联网或云计算虚拟化系统设计开发经验者优先: 3 ...

  4. 怎样用sourceTree将自己本地的项目上传到github网站上

    前言:GitHub 是基于 Git 的一个代码托管网站.开发者可以将代码在 GitHub 上开源,可以浏览其它项目的代码. 准备工作:1.github网站账号.2.sourceTree软件. 一.在g ...

  5. C# double float int string 与 byte数组 相互转化

    在做通信编程的时候,数据发送多采用串行发送方法,实际处理的时候多是以字节为单位进行处理的.在C/C++中 多字节变量与Byte进行转化时候比较方便 采用UNION即可废话少说看示例:typedef u ...

  6. componentsJoinedByString 和 componentsSeparatedByString 的方法的区别

    将string字符串转换为array数组 NSArray  *array = [Str componentsSeparatedByString:@","]; 将array数组转换为 ...

  7. python 读取机器信息

    本人最近新学python ,用到关于机器的相关信息,经过一番研究,从网上查找资料,经过测试,总结了一下相关的方法. # -*- coding: UTF8 -*- import os import wi ...

  8. vs2013下使用Assist X的破解方法

    Assist X的破解下载:http://pan.baidu.com/s/1kTnDH23 密码:j9jp 01.安装,点击VA_X_Setup2042.exe 安装 02.破解 找到这样的目录:C: ...

  9. Storm技术结合

    http://pan.baidu.com/s/1mhzj5XI?qq-pf-to=pcqq.group#path=%252F

  10. php PDO连接mysql以及字符乱码处理

    <?php //mysql 的 PDO $dsn = "mysql:dbname=cqkx;host:localhost"; $username = "root&q ...