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  小结        

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java divide_java中awt做什么的

    java divide_java中awt做什么的gridx,gridy:设置组件的位置,从0开始gridx设置为GridBagConstraints.RELATIVE代表此组件位于之前所加入组件的右边。gridy设置为GridBagConstraints.RELATIVE代表此组件位于以前所加入组件的下面。建议定义出gridx,gri…

  • c++的条件运算符_条件运算符都有哪些

    c++的条件运算符_条件运算符都有哪些一、运算符1.条件运算符(?:)是C语言中唯一的一个三目运算符,它是对第一个表达式作真/假检测,然后根据结果返回另外两个表达式中的一个。<表达式1>?<表达式2>:&a

  • 2021.5.WIN7 旗舰 激活码【在线注册码/序列号/破解码】

    2021.5.WIN7 旗舰 激活码【在线注册码/序列号/破解码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • Mac录屏,同时保留声音[通俗易懂]

    Mac录屏,同时保留声音[通俗易懂]使用自带的QuickTime+Soundflower(免费)就可完美解决录屏声音1.先装Soundflower: Soundflower下载地址 http://pan.baidu.com/s/1jH9r6iM2.打开-音频MIDI设置(可用Mac搜索工具搜索)3.点左下角“+”,再新建一个“多输出设备”,勾选“内建输出”和“Soundflower(2ch)”。…

  • Oracle 19c之RPM安装「建议收藏」

    Oracle 19c之RPM安装「建议收藏」Oracle19c,或者说是Oracle12.2.0.3,是12c中稳定的版本,就像Oracle11.2.0.4,是值得让客户做出升级决策,从Oracle支持的版本…

  • java常用的三种注释方式

    java常用的三种注释方式1.在java中,有三种常用的标记注释方式,最常用的是单行注释,‘//’它由两条斜杆组成记住是斜杆而不是反斜杠(\),注释是用来给代码注释说明,会存放一些方便理解代码涵义的说明2.如果需要写长篇内容注释且可用多行注释‘/**/’,因为单行注释已经不够满足需求了,在多行注释里面记录比较长的一段注释内容3.最后一种注释是文档注释/***/,功能比较强大,可以生成注释文档(关于文档注释这里先有个概念),java有自带文档注释工具在JDK安装路径下的bin目录下的javadoc.exe4….

发表回复

您的电子邮箱地址不会被公开。

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