精华内容
下载资源
问答
  • WPF高级编程

    2018-12-19 11:58:36
    WPF高级编程中文版,PDF扫描文件。 作者:(美国)(Andrade.C.)安德拉德 等 译者:王德才 吴明飞 ,《WPF高级编程》通过使用Visual Studio创建几个示例程序,带领您快速进入应用程序开发。此外,还将介绍XAML—— 创建...
  • WPF 高级.pdf

    2021-02-03 16:09:05
    WPF 高级编程教程 PDF 版
  • 上传了比较权威的两本书,《WPF自学手册》与《WPF高级编程》从入门到精通自学WPF的最佳手册 ,希望我上传的资料能帮助正在学习WPF的人。
  • WPF 高级编程 PDF文件

    2018-06-20 18:34:00
    WPF高级编程设计电子书,内容不错!!!!!!!!!!!!
  • WPF 高级篇 MVVM

    2019-12-18 10:39:18
    领导没安排工作 开始更新WPF高级篇 MVVM博客 首先 这个MVVM框架 使用了现在用的比较多的MVVMlight框架 和blend 行为触发器 我们会做一个功能 效果 功能呢: 我们会使用MVVM 实现 介绍MVVMLight框架中 数据的...

    今天入职第一天 闹出点笑话 Mail.yidatec 我写成ye了 真弱~

     

     

    领导没安排工作 开始更新WPF高级篇 MVVM博客 首先 这个MVVM框架 使用了现在用的比较多的MVVMlight框架 和blend 行为触发器

     我们会做一个功能 

    效果

    功能呢:

    我们会使用MVVM 实现

    介绍MVVMLight框架中

    数据的binding  Icommand命令 MessageBox弹出 附加属性判断数据 窗体之间通信

    介绍MVVM

    MVVM模式属于WPF 中高级知识体  在现在很多的程序设计中都有MVVM的设计模式体现

    我们都学过MVC三层 我们会把数据库读取的表信息 封装成Model字段 方便数据在三层中流动

    而MVVM 中 View(界面)层 的元素 也需要封装成Model 所以我们多了一个ViewModel 这样做有什么好处那  界面分离 

    刘铁猛老师称为 橘子皮效果  就是 把橘子皮(view)把掉 换成另一个香蕉皮(view)这样我们得到了 香蕉外观的橘子 满足喜欢香蕉 吃起来又是橘子味的客户  

    其实MVVM 主要的技术难点体现在ViewModel 和View 中间交互

     

     

     

     

    展开全文
  • C# WPF 高级教程

    2014-10-14 12:12:04
    本课程是《C# WPF 高级教程》,对应着教材的第18章到第33章。  第18章 自定义元素  18.1 理解WPF中的自定义元素  18.2 构建基本的用户控件  18.2.1 定义依赖项属性  18.2.2 定义路由事件  18.2.3 添加...

    更多资源进群: 377215114


    本课程是《C# WPF 高级教程》,对应着教材的第18章到第33章。 


    第18章 自定义元素 
    18.1 理解WPF中的自定义元素 
    18.2 构建基本的用户控件 
    18.2.1 定义依赖项属性 
    18.2.2 定义路由事件 
    18.2.3 添加标记 
    18.2.4 使用控件 
    18.2.5 命令支持 
    18.2.6 深入分析用户控件 
    18.3 创建无外观控件 
    18.3.1 修改颜色拾取器的代码 
    18.3.2 修改颜色拾取器的标记 
    18.3.3 精简控件模板 
    18.3.4 特定主题样式和默认样式 
    18.4 支持可视化状态 
    18.4.1 开始编写FlipPanel类 
    18.4.2 选择部件和状态 
    18.4.3 默认控件模板 
    18.4.4 使用FlipPanel 
    18.4.5 使用不同的控件模板 
    18.5 自定义面板 
    18.5.1 两步布局过程 
    18.5.2 Canvas面板克隆 
    18.5.3 更好的换行面板 
    18.6 自定义绘图元素 
    18.6.1 OnRender( )方法 
    18.6.2 评估自定义绘图 
    18.6.3 自定义绘图元素 
    18.6.4 自定义装饰元素 
    18.7 小结 
    第19章 数据绑定 
    19.1 使用自定义对象绑定到数据库 
    19.1.1 构建数据访问组件 
    19.1.2 构建数据对象 
    19.1.3 显示绑定对象 
    19.1.4 更新数据库 
    19.1.5 更改通知 
    19.2 绑定到对象集合 
    19.2.1 显示和编辑集合项 
    19.2.2 插入和移除集合项 
    19.2.3 绑定到ADO.NET对象 
    19.2.4 绑定到LINQ表达式 
    19.3 提高大列表的性能 
    19.3.1 虚拟化 
    19.3.2 项目容器再循环 
    19.3.3 延迟滚动 
    19.4 验证 
    19.4.1 在数据对象中进行验证 
    19.4.2 自定义验证规则 
    19.4.3 响应验证错误 
    19.4.4 获取错误列表 
    19.4.5 显示不同的错误指示 
    符号 
    19.4.6 验证多个值 
    19.5 数据提供者 
    19.5.1 ObjectDataProvider 
    19.5.2 XmlDataProvider 
    19.6 小结 
    第20章 格式化绑定的数据 
    20.1 数据绑定回顾 
    20.2 数据转换 
    20.2.1 StringFormat属性 
    20.2.2 值转换器简介 
    20.2.3 使用值转换器设置字符串的格式 
    20.2.4 使用值转换器创建对象 
    20.2.5 应用条件格式化 
    20.2.6 评估多个属性 
    20.3 列表控件 
    20.4 列表样式 
    20.4.1 ItemContainerStyle 
    20.4.2 包含复选框或单选按钮的ListBox控件 
    20.4.3 交替条目样式 
    20.4.4 样式选择器 
    20.5 数据模板 
    20.5.1 分离和重用模板 
    20.5.2 更高级的模板 
    20.5.3 改变模板 
    20.5.4 模板选择器 
    20.5.5 模板与选择 
    20.5.6 改变条目布局 
    20.6 ComboBox控件 
    20.7 小结 
    第21章 数据视图 
    21.1 View对象 
    21.1.1 检索视图对象 
    21.1.2 视图导航 
    21.1.3 以声明方式创建视图 
    21.2 过滤、排序与分组 
    21.2.1 过滤集合 
    21.2.2 过滤DataTable对象 
    21.2.3 排序 
    21.2.4 分组 
    21.3 小结 
    第22章 列表、网格和树 
    22.1 ListView控件 
    22.1.1 使用GirdView创建列 
    22.1.2 创建自定义视图 
    22.2 TreeView 
    22.2.1 使用数据绑定的TreeView 
    22.2.2 将DataSet对象绑定到TreeView 
    22.2.3 即时创建节点 
    22.3 DataGrid 
    22.3.1 改变列的尺寸与重新 安排列 
    22.3.2 定义列 
    22.3.3 设置列的格式和样式 
    22.3.4 设置行的格式 
    22.3.5 行细节 
    22.3.6 冻结列 
    22.3.7 选择 
    22.3.8 排序 
    22.3.9 DateGrid编辑 
    22.4 小结 
    第23章 窗口 
    23.1 Window类 
    23.1.1 显示窗口 
    23.1.2 定位窗口 
    23.1.3 保存和还原窗口位置 
    23.2 窗口交互 
    23.2.1 窗口所有权 
    23.2.2 对话框模型 
    23.2.3 通用对话框 
    23.3 非矩形窗口 
    23.3.1 简单形状窗口 
    23.3.2 具有形状内容的透明窗口 
    23.3.3 移动形状窗口 
    23.3.4 改变形状窗口的尺寸 
    23.3.5 组合到一起:窗口的自定义控件模板 
    23.4 Aero玻璃效果 
    23.5 Windows 7任务栏编程 
    23.5.1 使用跳转列表 
    23.5.2 改变任务栏图标和预览 
    23.6 小结 
    第24章 页面和导航 
    24.1 理解基于页面的导航 
    24.2 基于页面的界面 
    24.2.1 一个具有导航窗口的基于页面的简单应用程序 
    24.2.2 Page类 
    24.2.3 超链接 
    24.2.4 在一个框架中驻留页面 
    24.2.5 在另一个页面中驻留页面 
    24.2.6 在Web浏览器中驻留页面 
    24.3 页面历史 
    24.3.1 深入分析WPF中的URI 
    24.3.2 导航历史 
    24.3.3 维护自定义的属性 
    24.4 导航服务 
    24.4.1 通过编程进行导航 
    24.4.2 导航事件 
    24.4.3 管理日志 
    24.4.4 向日志添加自定义项 
    24.4.5 页函数 
    24.5 XAML浏览器应用程序 
    24.5.1 XBAP的运行要求 
    24.5.2 创建XBAP 
    24.5.3 部署XBAP 
    24.5.4 更新XBAP 
    24.5.5 XBAP的安全性 
    24.5.6 完全信任的XBAP 
    24.5.7 组合XBAP/独立应用程序 
    24.5.8 为不同的安全级别编写代码 
    24.5.9 在网页中嵌入XBAP 
    24.6 WebBrowser控件 
    24.6.1 导航到页面 
    24.6.2 构建DOM树 
    24.6.3 使用.NET代码为网页添加脚本 
    24.7 小结 
    第25章 菜单、工具栏和功能区 
    25.1 菜单 
    25.1.1 Menu类 
    25.1.2 菜单项 
    25.1.3 ContextMenu类 
    25.1.4 菜单分隔条 
    25.2 工具栏和状态栏 
    25.2.1 ToolBar控件 
    25.2.2 StatusBar控件 
    25.3 功能区 
    25.3.1 添加功能区 
    25.3.2 设置功能区样式 
    25.3.3 命令 
    25.3.4 应用程序菜单 
    25.3.5 选项卡、组与按钮 
    25.3.6 改变功能区尺寸 
    25.3.7 快速访问工具栏 
    25.4 小结 
    第26章 声音和视频 
    26.1 播放WAV音频 
    26.1.1 SoundPlayer类 
    26.1.2 SoundPlayerAction类 
    26.1.3 系统声音 
    26.2 MediaPlayer类 
    26.3 MediaElement类 
    26.3.1 使用代码播放音频 
    26.3.2 处理错误 
    26.3.3 使用触发器播放音频 
    26.3.4 播放多个声音 
    26.3.5 改变音量、平衡、速度以及位置 
    26.3.6 将动画同步到音频 
    26.3.7 播放视频 
    26.3.8 视频效果 
    26.4 语音 
    26.4.1 语音合成 
    26.4.2 语音识别 
    26.5 小结 
    第27章 3D绘图 
    27.1 3D绘图基础 
    27.1.1 视口 
    27.1.2 3D对象 
    27.1.3 摄像机 
    27.2 深入研究3D绘图 
    27.2.1 着色和法线 
    27.2.2 更复杂的形状 
    27.2.3 Model3DGroup集合 
    27.2.4 使用材质 
    27.2.5 纹理映射 
    27.3 交互和动画 
    27.3.1 变换 
    27.3.2 旋转 
    27.3.3 飞过 
    27.3.4 跟踪球 
    27.3.5 命中测试 
    27.3.6 3D表面上的2D元素 
    27.4 小结 
    第28章 文档 
    28.1 理解文档 
    28.2 流文档 
    28.2.1 流内容元素 
    28.2.2 设置内容元素的格式 
    28.2.3 创建简单的流文档 
    28.2.4 块元素 
    28.2.5 内联元素 
    28.2.6 通过代码与元素进行交互 
    28.2.7 文本对齐 
    28.3 只读流文档容器 
    28.3.1 缩放 
    28.3.2 页面和列 
    28.3.3 从文件加载文档 
    28.3.4 打印 
    28.4 编辑流文档 
    28.4.1 加载文件 
    28.4.2 保存文件 
    28.4.3 设置所选文本的格式 
    28.4.4 获取单个单词 
    28.5 固定文档 
    28.6 批注 
    28.6.1 批注类 
    28.6.2 启用批注服务 
    28.6.3 创建批注 
    28.6.4 检查批注 
    28.6.5 响应批注更改 
    28.6.6 在固定文档中保存批注 
    28.6.7 自定义便笺外观 
    28.7 小结 
    第29章 打印 
    29.1 基本打印 
    29.1.1 打印元素 
    29.1.2 变换打印输出 
    29.1.3 打印不显示的元素 
    29.1.4 打印文档 
    29.1.5 在文档打印输出中控制页面 
    29.2 自定义打印 
    29.2.1 使用可视化层中的类进行打印 
    29.2.2 自定义多页打印 
    29.3 打印设置和管理 
    29.3.1 保存打印设置 
    29.3.2 打印页面范围 
    29.3.3 管理打印队列 
    29.4 通过XPS进行打印 
    29.4.1 为打印预览创建XPS文档 
    29.4.2 写入内存中的XPS文档 
    29.4.3 通过XPS直接打印到打印机 
    29.4.4 异步打印 
    29.5 小结 
    第30章 与Windows窗体的交互 
    30.1 访问互操作性 
    30.2 混合窗口和窗体 
    30.2.1 为WPF应用程序添加窗体 
    30.2.2 为Windows窗体应用程序添加WPF窗口 
    30.2.3 显示模态窗口和窗体 
    30.2.4 显示非模态窗口和窗体 
    30.2.5 Windows窗体控件的可视化风格 
    30.2.6 不需要互操作性的Windows窗体类 
    30.3 创建具有混合内容的窗口 
    30.3.1 WPF和Windows窗体“空域” 
    30.3.2 在WPF中驻留Windows窗体控件 
    30.3.3 WPF和Windows窗体用户控件 
    30.3.4 在Windows窗体中驻留WPF控件 
    30.3.5 访问键、助记码和焦点 
    30.3.6 属性映射 
    30.4 小结 
    第31章 多线程 
    31.1 多线程 
    31.1.1 Dispatcher类 
    31.1.2 DispatcherObject类 
    31.1.3 BackgroundWorker类 
    31.2 小结 
    第32章 插件模型 
    32.1 在MAF和MEF两者间进行选择 
    32.2 插件管道 
    32.2.1 管道的工作原理 
    32.2.2 插件文件夹结构 
    32.2.3 为使用插件模型准备解决方案 
    32.3 使用插件的应用程序 
    32.3.1 协定 
    32.3.2 插件视图 
    32.3.3 插件 
    32.3.4 插件适配器 
    32.3.5 宿主视图 
    32.3.6 宿主适配器 
    32.3.7 宿主 
    32.3.8 添加更多插件 
    32.4 与宿主进行交互 
    32.5 可视化插件 
    32.6 小结 
    第33章 ClickOnce部署 
    33.1 理解应用程序部署 
    33.1.1 ClickOnce安装模型 
    33.1.2 ClickOnce的局限 
    33.2 简单的ClickOnce发布 
    33.2.1 设置发布者和产品 
    33.2.2 启动发布向导 
    33.2.3 部署文件的结构 
    33.2.4 安装ClickOnce应用程序 
    33.2.5 更新ClickOnce应用程序 
    33.3 ClickOnce附加选项 
    33.3.1 发布版本 
    33.3.2 更新 
    33.3.3 文件关联 
    33.3.4 发布选项 
    33.4 小结
    展开全文
  • WPF高级绘图

    2019-04-18 10:01:53
    创建一个Wpf应用程序 首先最外层使用Grid网格布局,使用Grid网格布局把窗体分为四行四列 直线 <Line X1="10" Y1="50" X2="100" Y2="10" Stroke="Blue" StrokeThickness="5"/> 输出结果...

    开发工具与关键技术:Visual Studio 2015

    作者:王成

    撰写时间:2019年4月15日

     

    创建一个Wpf应用程序

    首先最外层使用Grid网格布局,使用Grid网格布局把窗体分为四行四列

     

    直线

    <Line X1="10" Y1="50" X2="100" Y2="10" Stroke="Blue" StrokeThickness="5"/>

    输出结果:

    修改直线形状,使用StrokeEndLineCap(Flat平的、Round圆的、Square正直的、Triangle三角)

    <Line Grid.Column="1" X1="10" Y1="50" X2="90" Y2="50" StrokeThickness="50" StrokeStartLineCap="Flat" StrokeEndLineCap="Triangle" Stroke="Red"/>

    输出结果:

     

    矩形

    <Rectangle Grid.Column="2" Width="50" Height="50" Fill="Blue" Stroke="Red" StrokeThickness="5"/>

    输出结果:

    修改矩形形状,使用RadiusX与RadiusY定义圆角大小

    <Rectangle Grid.Column="3" Width="50" Height="50" Fill="Orange" Stroke="Yellow" StrokeThickness="3" RadiusX="25" RadiusY="25"/>

    输出结果:

     

    椭圆

    <Ellipse Grid.Row="1" Width="100" Height="60" Fill="Violet" Stroke="Indigo" StrokeThickness="3"/>

    输出结果:

     

    多边形(Points定义坐标点

    <Polygon Grid.Row="1" Grid.Column="1" Points="60,10 90,70 25,30 95,30 30,70" Fill="Green" Stroke="Blue" StrokeThickness="10"/>

    输出结果:

     

    多线型

    <Polyline Grid.Row="1" Grid.Column="2" Points="10,10 100,10 100,60 30,60" Fill="Purple" Stroke="SkyBlue" StrokeThickness="3"/>

    输出结果:

     

    路径绘图

    <Path Grid.Row="1" Grid.Column="3" Data="M 60,30 S 50,5 40,3 20,0 20,15" Stroke="Blue" StrokeThickness="2"/>

    输出结果:

     

    几何直线

    <Path Grid.Row="2" Stroke="Pink" StrokeThickness="5">

    <Path.Data>

    <LineGeometry StartPoint="20,50" EndPoint="100,30"/>

    </Path.Data>

    </Path>

    输出结果:

    几何矩形

    <Path Grid.Row="2" Grid.Column="1" Fill="SkyBlue" Stroke="Pink" StrokeThickness="5">

    <Path.Data>

    <RectangleGeometry Rect="10,10,100,50"/>

    </Path.Data>

    </Path>

    输出结果:

     

    几何椭圆

    <Path Grid.Row="2" Grid.Column="2" StrokeThickness="5" Fill="Blue" Stroke="Red">

    <Path.Data>

    <EllipseGeometry Center="50,50" RadiusX="25" RadiusY="25"/>

    </Path.Data>

    </Path>

    输出结果:

     

    几何组合图形

    <Path Grid.Row="2" Grid.Column="3" Fill="SkyBlue" Stroke="BlueViolet" StrokeThickness="5">

    <Path.Data>

    <GeometryGroup FillRule="Nonzero"><!FillRule默认值EvenOdd-->

    <LineGeometry StartPoint="30,10" EndPoint="30,80"/>

    <El lipseGeometry Center="30,50" RadiusX="20" RadiusY="30"/>

    <RectangleGeometry Rect="20,40,50,20"/>

    </GeometryGroup>

    </Path.Data>

    </Path>

     输出结果:

     

    几何路径

    <Path  Grid.Row="3" Fill="SkyBlue" Stroke="BlueViolet" StrokeThickness="5">

    <Path.Data>

    <PathGeometry>

    <PathFigure StartPoint="20,20">

    <LineSegment Point="100,30"/>

    <LineSegment Point="80,50"/>

    </PathFigure>

    </PathGeometry>

    </Path.Data>

    </Path>

    输出结果

     

    运行结果:

     

    展开全文
  • 寻找winform/wpf高级开发工程师,坐标西安
    寻找winform/wpf高级开发工程师,坐标西安
    
    展开全文
  • WPF高级命令使用

    2021-01-20 19:14:17
    WPF中,命令是什么呢?对于程序来说,命令就是一个个任务,例如保存,复制,剪切这些操作都可以理解为一个个命令。即当我们点击一个复杂按钮时,此时就相当于发出了一个复制的命令,即告诉文本框执行一个复杂选中...
  • Advanced Programming Techniques in MATLAB 1 Agenda MATLAB and memory What you as a programmer should know Passing arrays How structures use memory Functions of all types Introduction/Review of MATLAB
  • WPF 高级篇 MVVMlight

    2019-12-18 11:07:39
    准备工作 新建一个WPF应用成 下载MVVMlight框架 安装好后 看一下引用层面 多了几个GalaSoft.MvvMLight.DLL 框架安装好了 准备一个基础类 因为Model 和数据层 不是重点 这里就直接贴码 Book&BookData ...
  • 就像每一个窗口对应一个Window类一样,每一个WPF的应用程序对应一个Application类 生命周期 创建 WPF程序中,Application类的创建是由App.xaml中完成的,具体的代码如下 <Application x:Class="TestProject.App" ...
  • WPF高级教程(一)概述

    千次阅读 2020-02-19 22:40:37
    WPF是什么 WPF是基于Windows的用户界面框架,划重点:基于Windows,用户界面框架。 需要注意的是,WPF仅仅是有关于用户界面渲染的技术,而后台的开发,与系统的交互等都需要.NET Framework 的支持。 为什么写这一...
  • WPF 特性之一 附加属性 在本文里实现文本框内容的验证 public class TextBoxHelper:DependencyObject { public static bool GetisOnlyNumber(DependencyObject obj) { return (bool)obj.GetVal...
  • 自学电子书合集,让小伙伴们不再到处寻找资料。葵花宝典自学手册相对容易入门,推荐先看!编程宝典讲的比较系统,可用作工具书参考,适合进阶!高级编程最后阅读,具有高级实用开发价值,最后阅读。
  • WPF高级编程源代码

    2010-05-25 16:27:12
    Professional WPF Programming: .NET Development with the Windows Presentation Foundation Chris Andrade, Shawn Livermore, Mike Meyers, Scott Van Vliet ISBN: 978-0-470-04180-2 Paperback 480 pages May ...
  • 介绍 在讲解到样式的时候我们说,样式是为了一系列元素共享一些属性而存在的,归根结底是为了复用代码和逻辑,而我们...我们在复用代码的时候,有下面三种方法,他们互相补充,构建了WPF的属性重用架构,在合适的...
  • WPF高级教程(三)XAML

    2020-02-26 08:38:54
    WPF是前后端分离的,前端用XAML实现,后端用C#写(注意能用XAML写的都能用C#实现,但是用XAML更加直观,我们在本篇教程里,一般只说明使用XAML的实现,如果大家需要在后台更改界面,可以自行搜索XAML对应的C#实现) ...
  • 概念 命令是事件更高层次的抽象。我们在WinForm的开发中,一个事件处理程序就是一个命令,而...WPF的命令模型的优势我们在之后的讲解中大家会慢慢感受到,我们先讲讲缺陷,也就是WPF的命令不能做什么,如果接到一个...
  • 与依赖项属性一样,路由事件是WPF对于传统.NET事件的升级,使得事件拥有更强的传播能力。 定义,注册和包装 // 我们来看一个Click事件定义的例子 public abstract class ButtonBase : ContentControl { // 定义路由...
  • 体系结构 控件,窗口,基础形状,样式等都在PresentationFramework...渲染核心,不仅应用于WPF,也应用于系统界面的渲染 WindowsCodecs 图像处理底层API Direct3D 最低级图形渲染API,它是DirectX的一部分 User32 ...
  • 通过对于依赖项属性的封装,使得依赖项属性的使用与普通属性一样,这样既兼容了老的使用方法,又把WPF的新特性带到了普通的WPF程序中。 功能 每个依赖项属性都支持 更改通知和动态值识别,这也是依赖项属性的特点和...
  • 概念 绑定是一种关系,告诉目标对象使用原对象的一些信息设置其属性值。...源对象属性可以是任何内容,包括依赖项属性,其他WPF元素,甚至是ADO.NET数据对象 通过上面的说明我们发现,绑定这块...
  • WPF对于小尺寸文字(小于15)的显示,会出现文本模糊的问题,为了解决这个问题,我们需要使用 TextOptions.TextFormattingMode=“Display”,而超过15个设备无关像素的字不使用这个属性效果更好 光标 // 设置为...
  • WPF允许在代码中以及在xaml中各个位置定义对象资源。 资源集合 在FrameworkElement中定义了一个Resources属性,该属性使用Resource Dictionary类的实例填充,用于存储元素上的资源。根据我们之前学习的体系结构,...
  • 使用触发器 触发器可以让我们的界面可以自动化完成一些简单的样式改变,如鼠标放上去变色等。 在样式中添加触发器就是往 Style.Triggers 集合里面添加触发器,只要是派生自 TriggerBase 的实例都是可以添加到集合中...
  • 布局原则 空间的尺寸可以自适应。(要实现这样的效果需要不显式的指定控件尺寸,而是设置控件尺寸的最大最小值) 不设置绝对定位,使用相对定位(比如使用margin就是相对定位而非绝对坐标) 布局控件能为子控件合理...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 516
精华内容 206
关键字:

wpf高级