C# WPF 基础教程「建议收藏」

本课程是《C#WPF基础教程》,对应着教材的第1章到第17章。第1章  WPF概述      1.1  Windows图形演化      1.1.1  DirectX:新的图形引擎      1.1.2  硬件加速与WPF      1.2  WPF:高级API      1.2.1  Windows窗体将继续保留      1.2.2 

大家好,又见面了,我是你们的朋友全栈君。

更多资源进群: 377215114


本课程是《C# WPF 基础教程》,对应着教材的第1章到第17章。



第1章  WPF概述        


1.1  Windows图形演化        


1.1.1  DirectX:新的图形引擎        


1.1.2  硬件加速与WPF        


1.2  WPF:高级API        


1.2.1  Windows窗体将继续保留        


1.2.2  DirectX也将继续保留        


1.2.3  Silverlight        


1.3  分辨率无关性        


1.3.1  WPF单位        


1.3.2  系统DPI        


1.3.3  位图和矢量图形        


1.4  WPF体系结构        


1.5  WPF 4        


1.5.1  新特性        


1.5.2  WPF 工具包        


1.5.3  Visual Studio 2010        


1.6  小结        


第2章  XAML        


2.1  理解XAML        


2.1.1  WPF之前的图形用户界面        


2.1.2  XAML变体        


2.1.3  XAML编译        


2.2  XAML基础        


2.2.1  XAML名称空间        


2.2.2  代码隐藏类        


2.3  XAML中的属性和事件        


2.3.1  简单属性与类型转换器        


2.3.2  复杂属性        


2.3.3  标记扩展        


2.3.4  附加属性        


2.3.5  嵌套元素        


2.3.6  特殊字符与空白        


2.3.7  事件        


2.3.8  完整的Eight Ball示例        


2.4  使用其他名称空间中的类型        


2.5  加载和编译XAML        


2.5.1  只使用代码        


2.5.2  使用代码和未经编译的XAML        


2.5.3  使用代码和编译过的XAML        


2.5.4  只使用XAML        


2.6  XAML 2009        


2.6.1  自动事件连接        


2.6.2  引用        


2.6.3  内置类型        


2.6.4  高级的对象创建        


2.7  小结        


第3章  布局        


3.1  理解WPF中的布局        


3.1.1  WPF布局原则        


3.1.2  布局过程        


3.1.3  布局容器        


3.2  使用StackPanel面板进行简单   布局        


3.2.1  布局属性        


3.2.2  对齐方式        


3.2.3  边距        


3.2.4  最小尺寸、最大尺寸以及显式地设置尺寸        


3.2.5  Border控件        


3.3  WrapPanel面板和DockPanel面板        


3.3.1  WrapPanel面板        


3.3.2  DockPanel面板        


3.3.3  嵌套布局容器        


3.4  Grid面板        


3.4.1  调整行和列        


3.4.2  布局舍入        


3.4.3  跨越行和列        


3.4.4  分割窗口        


3.4.5  共享尺寸组        


3.4.6  UniformGrid面板        


3.5  使用Canvas面板进行基于坐标的布局        


3.5.1  Z顺序        


3.5.2  lnkCanvas元素        


3.6  布局示例        


3.6.1  列设置        


3.6.2  动态内容        


3.6.3  组合式用户界面        


3.7  小结        


第4章  依赖项属性        


4.1  理解依赖项属性        


4.1.1  定义依赖项属性        


4.1.2  注册依赖项属性        


4.1.3  添加属性包装器        


4.1.4  WPF使用依赖项属性的方式        


4.1.5  共享的依赖项属性        


4.1.6  附加的依赖项属性        


4.2  属性验证        


4.2.1  验证回调        


4.2.2  强制回调        


4.3  小结        


第5章  路由事件        


5.1  理解路由事件        


5.1.1  定义、注册和包装路由事件        


5.1.2  共享路由事件        


5.1.3  引发路由事件        


5.1.4  处理路由事件        


5.2  事件路由        


5.2.1  RoutedEventArgs类        


5.2.2  冒泡路由事件        


5.2.3  处理挂起的事件        


5.2.4  附加事件        


5.2.5  隧道路由事件        


5.3  WPF事件        


5.3.1  生命周期事件        


5.3.2  输入事件        


5.4  键盘输入        


5.4.1  处理按键事件        


5.4.2  焦点        


5.4.3  获取键盘状态        


5.5  鼠标输入        


5.5.1  鼠标单击        


5.5.2  捕获鼠标        


5.5.3  鼠标拖放        


5.6  多点触控输入        


5.6.1  多点触控的输入层次        


5.6.2  原始触控        


5.6.3  操作        


5.6.4  惯性        


5.7  小结        


第6章  控件        


6.1  控件类        


6.1.1  背景画刷和前景画刷        


6.1.2  字体        


6.1.3  鼠标光标        


6.2  内容控件        


6.2.1  Content属性        


6.2.2  对齐内容        


6.2.3  WPF内容原则        


6.2.4  标签        


6.2.5  按钮        


6.2.6  工具提示        


6.3  特殊容器控件        


6.4  带标题的内容控件        


6.4.1  GroupBox        


6.4.2  TabItem        


6.4.3  Expander        


6.5  文本控件        


6.5.1  多行文本        


6.5.2  选择文本        


6.5.3  拼写检查        


6.5.4  PasswordBox        


6.6  列表控件        


6.6.1  ListBox        


6.6.2  ComboBox        


6.7  基于范围的控件        


6.7.1  Slider控件        


6.7.2  进度条        


6.8  日期控件        


6.9  小结        


第7章  Application类        


7.1  应用程序的生命周期        


7.1.1  创建Application对象        


7.1.2  派生一个自定义的


Application类        


7.1.3  应用程序的关闭方式        


7.1.4  应用程序事件        


7.2  Application类的任务        


7.2.1  显示初始界面        


7.2.2  处理命令行参数        


7.2.3  访问当前Application对象        


7.2.4  在窗口之间进行交互        


7.2.5  单实例应用程序        


7.3  程序集资源        


7.3.1  添加资源        


7.3.2  检索资源        


7.3.3  pack URI        


7.3.4  内容文件        


7.4  本地化        


7.4.1  构建能够本地化的用户界面        


7.4.2  使应用程序为本地化做好准备        


7.4.3  翻译过程        


7.5  小结        


第8章  元素绑定        


8.1  将元素绑定到一起        


8.1.1  绑定表达式        


8.1.2  绑定错误        


8.1.3  绑定模式        


8.1.4  使用代码创建绑定        


8.1.5  多绑定        


8.1.6  绑定更新        


8.2  绑定到非元素对象        


8.2.1  Source属性        


8.2.2  RelativeSource属性        


8.2.3  DataContext属性        


8.3  小结        


第9章  命令        


9.1  理解命令        


9.2  WPF命令模型        


9.2.1  ICommand接口        


9.2.2  RoutedCommand类        


9.2.3  RoutedUICommand类        


9.2.4  命令库        


9.3  执行命令        


9.3.1  命令源        


9.3.2  命令绑定        


9.3.3  使用多命令源        


9.3.4  微调命令文本        


9.3.5  直接调用命令        


9.3.6  禁用命令        


9.3.7  具有内置命令的控件        


9.4  高级命令        


9.4.1  自定义命令        


9.4.2  在不同的位置使用相同的命令        


9.4.3  使用命令参数        


9.4.4  跟踪和翻转命令        


9.5  小结        


第10章  资源        


10.1  资源基础        


10.1.1  资源集合        


10.1.2  资源的层次        


10.1.3  静态资源和动态资源        


10.1.4  非共享资源        


10.1.5  通过代码访问资源        


10.1.6  应用程序资源        


10.1.7  系统资源        


10.2  资源字典        


10.2.1  创建资源字典        


10.2.2  使用资源字典        


10.2.3  在程序集之间共享资源        


10.3  小结        


第11章  样式和行为        


11.1  样式基础        


11.1.1  创建样式对象        


11.1.2  设置属性        


11.1.3  关联事件处理程序        


11.1.4  多层样式        


11.1.5  通过类型自动应用样式        


11.2  触发器        


11.2.1  简单触发器        


11.2.2  事件触发器        


11.3  行为        


11.3.1  获取行为支持        


11.3.2  理解行为模型        


11.3.3  创建行为        


11.3.4  使用行为        


11.3.5  Blend中的设计时行为支持        


11.4  小结        


第12章  形状、画刷和变换        


12.1  理解形状        


12.1.1  Shape类        


12.1.2  矩形和椭圆        


12.1.3  改变形状的尺寸和放置形状        


12.1.4  使用Viewbox控件缩放形状        


12.1.5  直线        


12.1.6  折线        


12.1.7  多边形        


12.1.8  直线线帽和直线交点        


12.1.9  点划线        


12.1.10  像素对齐        


12.2  画刷        


12.2.1  SolidColorBrush画刷        


12.2.2  LinearGradientBrush画刷        


12.2.3  RadialGradientBrush画刷        


12.2.4  ImageBrush画刷        


12.2.5  平铺的ImageBrush画刷        


12.2.6  VisualBrush画刷        


12.2.7  BitmapCacheBrush画刷        


12.3  变换        


12.3.1  变换形状        


12.3.2  变换元素        


12.4  透明        


12.4.1  使用元素半透明        


12.4.2  透明掩码        


12.5  小结        


第13章  几何图形和图画        


13.1  路径和几何图形        


13.1.1  直线、矩形和椭圆图形        


13.1.2  使用GeometryGroup 组合形状        


13.1.3  使用CombinedGeometry 融合几何图形        




13.1.4  使用PathGeometry绘制曲线和直线        


13.1.5  微语言几何图形        


13.1.6  使用几何图形进行剪裁        


13.2  图画        


13.2.1  显示图画        


13.2.2  导出插图        


13.3  小结        


第14章  效果和可视化对象        


14.1  可视化对象        


14.1.1  绘制可视化对象        


14.1.2  在元素中包装可视化对象        


14.1.3  命中测试        


14.1.4  复杂的命中测试        


14.2  效果        


14.2.1  BlurEffect类        


14.2.2  DropShadowEffect类        


14.2.3  ShaderEffect类        


14.3  WriteableBitmap类        


14.3.1  生成位图        


14.3.2  写入WriteableBitmap对象        


14.3.3  更高效的像素写入        


14.4  小结        


第15章  动画基础        


15.1  理解WPF动画        


15.1.1  基于时间的动画        


15.1.2  基于属性的动画        


15.2  基本动画        


15.2.1  Animation类        


15.2.2  使用代码创建动画        


15.2.3  同时发生的动画        


15.2.4  动画生命期        


15.2.5  Timeline类        


15.3  故事板        


15.3.1  故事板        


15.3.2  事件触发器        


15.3.3  重叠动画        


15.3.4  同步的动画        


15.3.5  控制播放        


15.3.6  监视动画进度        


15.4  动画缓动        


15.4.1  使用缓动函数        


15.4.2  在动画开始时应用缓动与在动画结束时应用缓动        


15.4.3  缓动函数类        


15.4.4  创建自定义缓动函数        


15.5  动画性能        


15.5.1  期望的帧速率        


15.5.2  位图缓存        


15.6  小结        


第16章  高级动画        


16.1  动画类型回顾        


16.1.1  动态变换        


16.1.2  动态改变画刷        


16.1.3  动态改变像素着色器        


16.2  关键帧动画        


16.2.1  离散的关键帧动画        


16.2.2  缓动关键帧        


16.2.3  样条关键帧动画        


16.3  基于路径的动画        


16.4  基于帧的动画        


16.5  使用代码创建故事板        


16.5.1  主窗口        


16.5.2  Bomb用户控件        


16.5.3  投炸弹        


16.5.4  拦截炸弹        


16.5.5  统计炸弹和清理工作        


16.6  小结        


第17章  控件模板        


17.1  理解逻辑树和可视化树        


17.2  理解模板        


17.2.1  修饰类        


17.2.2  剖析控件        


17.3  创建控件模板        


17.3.1  简单按钮        


17.3.2  模板绑定        


17.3.3  改变属性的触发器        


17.3.4  使用动画的触发器        


17.4  组织模板资源        


17.4.1  分解按钮控件模板        


17.4.2  通过样式应用模板        


17.4.3  自动应用模板        


17.4.4  由用户选择的皮肤        


17.5  构建更复杂的模板        


17.5.1  嵌套的模板        


17.5.2  修改滚动条        


17.5.3  控件模板示例        


17.6  可视化状态        


17.7  小结        

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127167.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一步一步写算法(之hash表)

    一步一步写算法(之hash表)

    2021年11月23日
    50
  • C++无锁编程资料,无锁队列等

    C++无锁编程资料,无锁队列等1.Lamport’sLock-FreeRingBuffer    [Lamport,Comm.ofACM,1977]   也就常说的单生产者-单消费者的ringbuffer,限制就是只能一个读线程(消费者),一个写进程(生产者)。    好像有人改进了一下设计,参加文章“Cache优化的并发无锁队列”http://www.doci

    2022年5月20日
    64
  • php mysql 经纬度_mysql,php和js根据经纬度计算距离

    php mysql 经纬度_mysql,php和js根据经纬度计算距离根据经纬度计算距离公式图片来自互联网对上面的公式解释如下:Lung1Lat1表示A点经纬度,Lung2Lat2表示B点经纬度;a=Lat1–Lat2为两点纬度之差b=Lung1-Lung2为两点经度之差;6378.137为地球半径,单位为千米;计算出来的结果单位为千米,若将半径改为米为单位则计算的结果单位为米。计算精度与谷歌地图的距离精度差不多,相差范围在0.2米以下。参数说明…

    2022年9月23日
    3
  • 京东猪脸识别比赛数据预处理:用Python将视频每一帧提取存储为图片

    京东猪脸识别比赛数据预处理:用Python将视频每一帧提取存储为图片最近参加京东的猪脸识别比赛,训练集是30个视频,需要将视频的每一帧提取出来存储为图片,存入对应的文件夹(分类标签)。本例是直接调用了cv2模块中的VideoCapture。但有个问题,每一个视频转换得到的30个子文件夹里,都有2952张图片,但第2952张是空的,所以只有运用强大的Linux递归删除符合条件的文件了

    2022年6月21日
    24
  • 修改源码去除zblog博客分类目录的RSS图标

    修改源码去除zblog博客分类目录的RSS图标

    2021年11月16日
    55
  • mycat oracle读写分离_mycat读写分离原理

    mycat oracle读写分离_mycat读写分离原理今天做不成的事,明天也不会做好。各位同学大家好,今天给大家分享一下用Mycat进行数据库的读写分离,本篇文章是基于上一篇的mysql主从复制。Linux上实现Mysql的主从复制(为Mycat读写分离作准备)在上一篇文章中,我们在两个服务器使用同版本的操作系统和mysql:服务器1:centos7.3,mysql5.6服务器2:centos7.3,m…

    2022年10月13日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号