{{sellerTotalView > 1 ? __("sellers", {number: sellerTotalView}) : __("seller", {number: sellerTotalView}) }}, {{numTotalView > 1 ? __("items", {number: numTotalView}) : __("item", {number: numTotalView}) }}
무료배송

배송 지역 전환

지역에 따라 재고 및 배송 속도가 다를 수 있습니다.

위치 기록

{{email ? __('Got it!') : __('Restock Alert')}}

상품입고 후 바로 알려드리겠습니다.

취소
Yami

Jingdong book

WPF编程宝典:使用C# 2012和.NET 4.5(第4版)

{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}

WPF编程宝典:使用C# 2012和.NET 4.5(第4版)

{{__(":people-members", {'people': item.limit_people_count})}} {{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ item.invalid_price }} {{ itemDiscount }}
후 종료
{{ itemCurrency }}{{ item.valid_price }}
{{ itemCurrency }}{{ priceFormat(item.valid_price / item.bundle_specification) }}/{{ item.unit }}
{{ itemDiscount }}
{{ itemCurrency }}{{ item.valid_price }} {{ itemCurrency }}{{ priceFormat(item.valid_price / item.bundle_specification) }}/{{ item.unit }} {{ itemCurrency }}{{ item.invalid_price }} {{itemDiscount}}
{{ itemCurrency }}{{ item.valid_price }}
후에 세일 종료
후 초특가세일 시작 후 초특가세일 종료
{{ getSeckillDesc(item.seckill_data) }}
{{ __( "Pay with Gift Card to get sale price: :itemCurrency:price", { 'itemCurrency' : itemCurrency, 'price' : (item.giftcard_price ? priceFormat(item.giftcard_price) : '0.00') } ) }} ({{ itemCurrency }}{{ priceFormat(item.giftcard_price / item.bundle_specification) }}/{{ item.unit }}) 상세정보
상품 유효 기간

판매 중단

이 상품이 언제 재입고될지는 알 수 없습니다.

현재 주소로 배송 불가
품절

제품 설명

제품 세부 정보 전체보기
Content Description

WPF提供了为Windows操作系统构建高品质用户界面的开发框架,融合了源于多个渠道的丰富内容,为您充分利用Windows计算机的处理能力提供了前所未有的机会。
《.NET开发经典名著·WPF编程宝典:使用C# 2012和.NET 4.5(第4版)》全面讲解WPF的实际工作原理,是一本WPF专业著作。在紧贴实用示例这一思想的引导下,列出实用提示,引导以专业的方式使用WPF。《.NET开发经典名著·WPF编程宝典:使用C# 2012和.NET 4.5(第4版)》开篇介绍WPF基本概念以便为您奠定坚实的基础,并将现有C#技能作为引用框架,然后讨论高级概念,结合实际演示它们的用法,并重点强调了可由此节省的时间和人力成本。
主要内容:
·理解WPF编程的基础知识:从XAML到控件,乃至数据流;
·开发实用的应用程序,带您实际了解导航、本地化和开发;
·探讨WPF提供的高级用户界面控件;
·分析如何在WPF中管理文档,涵盖了文本布局、打印和文档打包等所有技术;
·使用图形和多媒体来增强应用程序。
Author Description

麦克唐纳(MatthewMacDonald),是一位作家、教育家,也是微软最有价值专家。他撰写了十多本有关.NET编程的书籍,包括ProSilverlight3inC#(2009年Apress出版)和ProASP.NET3.5inC#(2007年Apress出版)以及本书的前一版本。目前他与妻子以及两个女儿居住在多伦多。
Catalogue

第Ⅰ部分 基础知识
第1章 WPF概述
1.1 Windows图形演化
1.1.1 DirectX:新的图形引擎
1.1.2 硬件加速与WPF
1.2 WPF:高级API
1.3 分辨率无关性
1.3.1 WPF单位
1.3.2 系统DPI
1.3.3 位图和矢量图形
1.4 WPF体系结构
1.5 WPF 4.5
1.5.1 WPF工具包
1.5.2 Visual Studio 2012
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 Answer示例
2.4 使用其他名称空间中的类型
2.5 加载和编译XAML
2.5.1 只使用代码
2.5.2 使用代码和未经编译的XAML
2.5.3 使用代码和编译过的XAML
2.5.4 只使用XAML
2.6 小结
第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 小结

第Ⅱ部分 进一步研究WPF
第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.3.1 ScrollViewer
6.3.2 GroupBox
6.3.3 TabItem
6.3.4 Expander
6.4 文本控件
6.4.1 多行文本
6.4.2 选择文本
6.4.3 拼写检查
6.4.4 PasswordBox
6.5 列表控件
6.5.1 ListBox
6.5.2 ComboBox
6.6 基于范围的控件
6.6.1 Slider
6.6.2 ProgressBar
6.7 日期控件
6.8 小结
第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.1.7 绑定更新
8.1.8 绑定延迟
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 小结
第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.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 更好的WrapPanel面板
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.3.4 延迟滚动
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.2.5 实时成型
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 编辑
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 Windows 7任务栏编程
23.4.1 使用跳转列表
23.4.2 改变任务栏图标和预览
23.5 小结
第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 为不同的安全级别编写代码
24.5.8 在网页中嵌入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.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.2 BackgroundWorker类
31.2.1 简单的异步操作
31.2.2 创建BackgroundWorker对象
31.2.3 运行BackgroundWorker对象
31.2.4 跟踪进度
31.2.5 支持取消
31.3 小结
第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 小结
Book Abstract

正如您已经知道的,放在WPF窗口中的所有要素都在一定层次上继承自UIElement类,包括Label、StackPanel、TextBlock和Image。UIElement定义了一些核心事件。例如,每个继承自UIElement的类都提供MouseDown事件和MouseUp事件。
但当单击上面这个特殊标签中的图像部分时,想一想会发生什么事情。很明显,引发Image.mouseDown,事件和Image.MouseUp事件是合情合理的。但如果希望采用相同的方式来处理标签上的所有单击事件,该怎么办呢?此时,不管用户单击了图像、某块文本还是标签内的空白处,都应当使用相同的代码进行响应。
显然,可为每个元素的MouseDown或MouseUp事件关联同一个事件处理程序,但这样会使标记变得杂乱无章且难以维护。WPF使用路由事件模型提供了一个更好的解决方案。路由事件实际上以下列三种方式出现:
与普通.NET事件类似的直接路由事件(direct event)。它们源于一个元素,不传递给其他元素。例如,MouseEnter事件(当鼠标指针移到元素上时发生)是直接路由事件。
在包含层次中向上传递的冒泡路由事件(bubbling event)。例如,MouseDown事件就是昌泡路由事件。该事件首先由被单击的元素引发,接下来被该元素的父元素引发,然后被父元素的父元素引发,依此类推,直到WPF到达元素树的顶部为止。
在包含层次中向下传递的隧道路由事件(tunneling event)。隧道路由事件在事件到达恰当的控件之前为预览事件(甚至终止事件)提供了机会。例如,通过PreviewKeyDown事件可截获是否按下了某个键。首先在窗口级别上,然后是更具体的容器,直至到达当按下键时具有焦点的元素。
当使用EventManager.RegisterEvent()方法注册路由事件时,需要传递一个RoutingStrategy枚举值,该值用于指示希望应用于事件的事件行为。

명세서

상표 Jingdong book
브랜드 영역 China

면책성명

제품 가격, 포장, 사양 등의 정보는 예고 없이 변경될 수 있습니다. 적시에 제품 정보를 업데이트 할 수 있도록 최선을 다하지만, 받은 실제 제품을 참고하시기 바랍니다. 제품을 사용하기 전에 반드시 제품에 동봉된 라벨, 경고 및 설명을 읽어 주십시오.

상세정보 보기
찜한 목록에 추가
{{ $isZh ? coupon.coupon_name_sub : coupon.coupon_ename_sub | formatCurrency }}
{{__("Buy Directly")}} {{ itemCurrency }}{{ item.directly_price }}
수량
{{ quantity }}
{{ instockMsg }}
{{ limitText }}
{{buttonTypePin == 3 ? __("Scan to view more PinGo") : __("Scan to start")}}
JD@CHINA 판매
배송지
{{ __("Ship to United States only") }}
69이상 주문 시 무료 배송
정품 보증

장바구니에 추가됨

쇼핑 계속하기

당신을 위한 추천

{{ item.brand_name }}

{{ item.item_name }}

{{ item.currency }}{{ item.market_price }}

{{ item.currency }}{{ item.unit_price }}

{{ item.currency }}{{ item.unit_price }}

쿠폰

{{ coupon.coupon_name_new | formatCurrency }}
받기 받았음 마감
{{ getCouponDescStr(coupon) }}
{{ coupon.use_time_desc }}
곧 만료됩니다: {{ formatTime(coupon.use_end_time) }}

친구들과 공유하세요

취소

Yami 기프트카드 전용특가

기프트카드로 결제하면 전용특가를 받을 수 있습니다

규칙 설명

기프트카드 전용특가는 일부 상품에 대한 특혜가격입니다.

기프트카드 전용특가 상품 구매 시 E-기프트 카드 잔액으로 결제하고 기프트카드 잔액이 주문 내 상품의 총액을 지불하기에 충분하하 기프트카드 전용특가가 자동으로 활성화됩니다.

기프트 카드 잔액으로 결제하지 않거나 기프트카드 잔액이 전항의 요건을 충족하지 못할 경우 기프트카드 전용특가를 활성화할 수 없으며 상품은 정상 가격으로 구매할 수 있습니다.

기프트카드 전용특가 상품 구매 시 잔액이 부족할 경우 장바구니 또는 결제 페이지에서 "충전" 버튼을 클릭하여 기프트카드를 구매 및 충전할 수 있습니다.

기프트카드 전용특가가 있는 상품은 "전용특가"라는 특별한 가격표시가 표시됩니다.

질문이 있으시면 언제든지 고객 서비스에 문의하십시오.

Yami는 기프트카드 전용특가 관련 최종 해석권을 보유합니다.

Yami 판매

서비스 보장

Yami $49 이상 무료 배송
Yami 걱정 없는 반품/교환
Yami 미국에서 발송

배송 정보

  • 미국

    표준 배송 $5.99(알래스카, 하와이 제외), 최종 가격 $49 이상 시 무료 배송

    지역 배송 $5.99(캘리포니아, 뉴욕, 뉴저지, 매사추세츠, 펜실베이니아, 위 주의 일부 지역), 최종 가격 $49 이상 시 무료 배송

    2일 이내 배송(알래스카 및 하와이 포함) $19.99부터 시작

반품 및 교환 정책

Yami는 고객님께 최상의 A/S를 제공하고, 모든 분들이 Yami에서 안심하고 쇼핑할 수 있도록 노력하고 있습니다. Yami의 자영 상품은 반품 및 교환 조건을 충족하는 경우, 상품 수령 후 30일 이내에 반품 및 교환할 수 있습니다(식품은 품질 문제로 인해 7일 이내에 반품 및 교환이 가능합니다. 모든 고객이 안전하고 고품질의 제품을 받을 수 있도록 뷰티 제품은 개봉 또는 사용 후에는 품질 문제를 제외하고 환불 또는 반품을 제공하지 않습니다. 기타 특별 카테고리의 제품은 고객 서비스에 문의하시기 바랍니다).
이해와 지원에 감사드립니다.

상세정보 보기

Yami 판매

Yami E-기프트카드 사용 약관

구매 시 자동 충전을 선택한 경우, 주문 완료 후 기프트카드가 자동으로 계정에 충전됩니다.

구매 시 이메일 발송을 선택한 경우, 주문 완료 후 시스템이 자동으로 카드 번호와 비밀번호를 입력한 이메일로 발송합니다.

이메일을 보낼 때, 모든 사용자는 이메일에 있는 카드 번호와 비밀번호를 사용하여 기프트카드를 충전할 수 있으니, 이메일 정보를 잘 보관하세요.

이메일을 받는 데 문제가 있으면, 고객 서비스에 연락하여 처리해 주세요.

이메일을 보낼 때, 기프트카드가 교환되지 않았다면 이메일을 재발송할 수 있습니다. 이미 다른 사용자에 의해 교환된 경우에는 보상할 수 없습니다.

Yamibuy의 E-기프트카드는 자영 또는 제3자 상품 구매에 사용할 수 있습니다.

Yamibuy의 E-기프트카드는 유효 기간 제한이 없으며, 장기간 유효합니다.

Yami 전자 상품권의 금액은 여러 번에 나눠서 사용할 수 있습니다;

Yami 전자 상품권 업무 규칙의 최종 해석 권한은 Yami 웹사이트에 있습니다.

반품 및 교환 정책

이미 사용된 E-기프트카드는 환불이 불가능합니다.

판매자: JD@CHINA

서비스 보장

Yami $49 이상 무료 배송
Yami 최고의 A/S
Yami 미국 본토에서 발송

배송 정보

  • 미국

    표준 배송 $5.99(알래스카, 하와이 제외), 최종 가격 $49 이상 시 무료 배송

    지역 배송 $5.99(캘리포니아, 뉴욕, 뉴저지, 매사추세츠, 펜실베이니아, 위 주의 일부 지역), 최종 가격 $49 이상 시 무료 배송

    2일 이내 배송(알래스카 및 하와이 포함) $19.99부터 시작

반품 및 교환 정책

제품을 받으신 후 30일 이내에 제품을 반품하실 수 있습니다. 반품된 품목은 구매에 대한 원본 송장을 포함하여 원래 포장된 새 품목이어야 합니다. 고객이 자신의 비용으로 제품을 반품합니다.

JD@CHINA 판매

서비스 보장

Yami 점포간 $:amount 이상 구매 시 무료 배송
Yami 30일 반품/교환 보장

Yami-중국 집하창고

Yami는 중국 내 주요 우수매장에서 제품을 선별하여 모아 Yami 중국통합센터로 배송하며 택배를 합친 후 전국 각지의 주소로 배송해 드립니다. 점포간 무료 배송 조건은 최저 $69입니다. 여러 판매자가 제공하는 다양한 상품 중에서 원하는 상품을 선택하고 점포간 무료배송으로 저렴한 배송비를 쉽게 누릴 수 있습니다.

반품 정책

30일 이내 반품 및 교환 보증을 제공합니다. 제품은 새로 사용하지 않은 원래 포장에 구매 증명서가 첨부되어 있어야 합니다. 상품 품질 문제, 잘못된 배송, 배송 누락 등 판매자의 실수로 인한 경우 환불 처리됩니다. 기타 사유로 인한 반품 및 교환은 배송비는 고객이 자체로 부담하셔야 합니다. 모든 제품은 장거리 배송을 하기 때문에 간혹 간단한 외부 포장이 눌려 마모되는 등이 있지만 내부 품질 문제가 없는 경우 반품 및 교환할 수 없습니다.

배송 정보

Yami 중국집하배송 Consolidated Shipping 배송비 $9.99 ($69 이상 주문시 무료배송)

중국 판매자는 주문 후 영업일 기준 2일 후에 상품을 발송합니다. 모든 택배는 Yami 중국통합센터(특별한 상황 및 중국 내 개별 법정 공휴일 제외)에 도착하여 택배를 합친 후 UPS를 통해 미국으로 배송됩니다. UPS는 중국에서 발송 후 미국까지 평균 10영업일 정도 소요되며 직배송 주문 번호에 따라 수시로 추적 및 조회할 수 있습니다 전염병의 영향으로 현재 물류가 5일 정도 지연될 수 있습니다. 택배는 고객 서명이 필요합니다. 서명하지 않은 경우 고객은 택배가 분실될 위험을 부담하게 됩니다.

JD@CHINA 판매

서비스 보장

69이상 주문 시 무료 배송
정품 보증

배송 정보

Yami Consolidated Shipping배송비$9.99($69 이상 주문 시 무료 배송)


Seller will ship the orders within 1-2 business days. The logistics time limit is expected to be 7-15 working days. In case of customs clearance, the delivery time will be extended by 3-7 days. The final receipt date is subject to the information of the postal company.

포인트 규칙

모든 품목은 Yamibuy 의 프로모션이나 포인트 이벤트에서 제외됩니다.

반품 및 교환 정책

제품을 받으신 후 30일 이내에 제품을 반품하실 수 있습니다. 반품된 품목은 구매에 대한 원본 송장을 포함하여 원래 포장된 새 품목이어야 합니다. 고객이 자신의 비용으로 제품을 반품합니다.

Yami

Yami 앱 다운로드

맨 위로 돌아가기

당신을 위한 추천

브랜드 스토리

Jingdong book

为您推荐

Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折
Yami
欣葉
2种选择
欣叶 御大福 芋头麻薯 180g

周销量 600+

$1.66 $1.99 83折

리뷰{{'('+ commentList.posts_count + ')'}}

당신의 체험을 공유하고 더 많은 사용자가 선택할 수 있도록 도와줍니다.

리뷰 작성
{{ totalRating }} 리뷰 작성
  • {{i}}별

    {{i}} 별

    {{ parseInt(commentRatingList[i]) }}%

Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}접기

{{ strLimit(comment,800) }}전체 보기

Show Original

{{ comment.content }}

Yami
모두 보기

{{ formatTime(comment.in_dtm) }} 구매 완료 {{groupData}}

{{ comment.likes_count }} {{ comment.likes_count }} {{ comment.reply_count }} {{comment.in_user==uid ? __('Delete') : __('Report')}}
Yami Yami
{{ comment.user_name }}

{{ showTranslate(comment) }}접기

{{ strLimit(comment,800) }}전체 보기

Show Original

{{ comment.content }}

Yami
모두 보기

{{ formatTime(comment.in_dtm) }} 구매 완료 {{groupData}}

{{ comment.likes_count }} {{ comment.likes_count }} {{ comment.reply_count }} {{comment.in_user==uid ? __('Delete') : __('Report')}}

조건에 맞는 리뷰가 없습니다

리뷰 상세

Yami Yami

{{ showTranslate(commentDetails) }}접기

{{ strLimit(commentDetails,800) }}전체 보기

Show Original

{{ commentDetails.content }}

Yami
모두 보기

{{ formatTime(commentDetails.in_dtm) }} 구매 완료 {{groupData}}

{{ commentDetails.likes_count }} {{ commentDetails.likes_count }} {{ commentDetails.reply_count }} {{commentDetails.in_user==uid ? __('Delete') : __('Report')}}

내용을 입력하세요

답변{{'(' + replyList.length + ')'}}

Yami Yami

{{ showTranslate(reply) }}접기

{{ strLimit(reply,800) }}전체 보기

Show Original

{{ reply.reply_content }}

{{ formatTime(reply.reply_in_dtm) }}

{{ reply.reply_likes_count }} {{ reply.reply_likes_count }} {{ reply.reply_reply_count }} {{reply.reply_in_user==uid ? __('Delete') : __('Report')}}

내용을 입력하세요

취소

지금까지의 모든 리뷰입니다!

리뷰 작성하기
상품 평점

댓글을 입력하세요.

  • 좋은 닉네임이 당신의 리뷰를 더 인기 있게 만들 것입니다!
  • 여기에서 닉네임을 변경하면 개인정보의 닉네임도 같이 변경됩니다.
리뷰를 남겨주셔서 감사합니다
당신의 좋은 리뷰는 우리 커뮤니티가 아시아 최고의 상품을 찾는 데 도움이 됩니다.

신고하기

취소

이 리뷰를 삭제하시겠습니까?

취소

최근 본 상품

브랜드 스토리

Jingdong book