关于WPF程序在XP系统运行发生的问题

为轮子而生 2017-01-03 10:29:10
单位团队开发的一个WPF应用程序,基于.Net4.0,大部分电脑正常,有几台XP系统(32位SP2)出现崩溃现象,异常信息如下

错误来源:PresentationFramework
异常类型:XamlParseException
异常信息:Provide value on 'System.Windows.Baml2006.TypeConverterMarkupExtension' threw an exception

参考网上资料,怀疑是图标问题,遂不使用图标,做了一个简单的测试程序,仅显示图片,但发现在有问题的电脑上运行时,窗体是空白的(大部分电脑是好的)。代码如下:

<Window x:Class="WpfTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfTest"
mc:Ignorable="d" Title="MainWindow" Height="350" Width="525">
<Grid>
<StackPanel Orientation="Vertical" VerticalAlignment="Center">
<Image Width="260" Height="57" Source="/WpfTest;Component/Res/bg_advicer.bmp"/>
<Image Width="260" Height="57" Source="/Res/bg_advicer.bmp"/>
<Image Width="260" Height="57" Source="pack://Application:,,,/Res/bg_advicer.bmp"/>
</StackPanel>
</Grid>
</Window>


我使用了各种路径引用图片资源,均无效果,窗体是白色。

想咨询一下有这方面经验的朋友,WPF程序的呈现是否还需要什么特定的组件?因为我怀疑出现问题的电脑,安装了过度精简过的老XP系统,很可能缺少什么东西。程序已经下通知大范围推广了,不能总让人重装系统不是?

请参考测试条件:
1、大部分电脑正常,可以确定不是程序本身的问题
2、出问题的电脑上已部署.Net4.0,且窗体可以显示,故排除.Net版本、32/64位等因素
3、win7系统未发现异常


事出紧急,还请诸位大侠多出谋划策,感谢!



...全文
744 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你了解一下 source 中的路径的比较完整的写法(从 Assembly 为根引用的方法)。不要随便写相对路径。
crystal_lz 2017-01-06
  • 打赏
  • 举报
回复
引用 5 楼 rocmemory 的回复:
任何事情都有两面性,你不能因为发生一些问题就认为技术革新是错误的,那为什么还要进步呢
在我看到的 2.0 之后增加的东西 基本都是语法糖 方便开发效率 增加语言的一些特性 而语言并不是技术 它只是技术文字上的一种表达形式而已 没有linq我一样写程序 大不了多几句代码 对于这样的封装 虽然方便了开发效率 但是对于一些初学者来说却是一种技术实现上的一种掩盖 很多初学者知其然不知其所以然 甚至觉得实现一个功能就只是几句代码的事情 当遇到几句代码实现不了的时候 就觉得这个功能自己完不成了 而且遇到很多初学的动不动就用4.5之类什么都要用最新的觉得高版本牛逼 结果那些新特性却一个都没用上 那才是真正的错误(或许是初学还不知道那些特性) 不是我不接收更新 只是我觉得我暂时还不需要 还没有到我不用新版本就做不了一些事情的地步 你要说我现在才开始学 那估计我就用新版本了 上面的都是扯 最重要的你做的东西都是给别人用的(其实我的大部分是自己用的) 当你给别人说 要用你的程序需要装东西的时候 别人可能就不乐意了 要用你的东西我还要装这装那的重点是还不知道怎么装我还不如用XXXX呢 所以我用2.0 最保底的 win7 什么的不用考虑 如果是xp用户 随着他平时的使用一些软件的安装 说不定别的软件就给装上了一个环境 在这种情况下 你要考虑的就不是自己了 而是别人 要知道别人不是什么搞技术的 说不定.Net什么的他听都没听过 你给他说叫他装 这种事情 不是没遇到过 别人直接鸟都不鸟你了 还好我只是自娱自乐写写代码 不需要去管这些问题 好了 上面都是我等外卖的时候瞎比比的。。。。
EnForGrass 2017-01-06
  • 打赏
  • 举报
回复
还有就是有可能是动态resource的问题,改成static resource
exception92 2017-01-06
  • 打赏
  • 举报
回复
是 “始终复制” 才行。
exception92 2017-01-06
  • 打赏
  • 举报
回复
引用 7 楼 rocmemory 的回复:
引用 1楼DwLbj 的回复:
bmp图片生成是否设置为Resource?
已经看了,所有图片加进来后默认就是resource
复制到输出目录 是什么动作?
为轮子而生 2017-01-06
  • 打赏
  • 举报
回复
引用 18楼D56233577 的回复:
你这个异常应该是图像无法识别,有类似的反馈。 http://blog.csdn.net/briss/article/details/9499133 建议你将图片格式重新处理一下,确保编码没问题,尺寸也调整一下,再到XP上测试。
他这个是图标的,我不用图标也不显示图片,是bmp的
为轮子而生 2017-01-06
  • 打赏
  • 举报
回复
引用 20楼D56233577 的回复:
XP 不支持 256*256 的图标
那bmp显示不出来是什么意思呢
为轮子而生 2017-01-06
  • 打赏
  • 举报
回复
引用 19楼D56233577 的回复:
也许根本不是你贴的代码出错,而是用了256*256的ICO图标。
没有使用图标
D56233577 2017-01-06
  • 打赏
  • 举报
回复
XP 不支持 256*256 的图标
D56233577 2017-01-06
  • 打赏
  • 举报
回复
也许根本不是你贴的代码出错,而是用了256*256的ICO图标。
D56233577 2017-01-06
  • 打赏
  • 举报
回复
你这个异常应该是图像无法识别,有类似的反馈。 http://blog.csdn.net/briss/article/details/9499133 建议你将图片格式重新处理一下,确保编码没问题,尺寸也调整一下,再到XP上测试。
为轮子而生 2017-01-06
  • 打赏
  • 举报
回复
引用 16 楼 chenandczh 的回复:
缺少了资源文件,你调试的是安装包 还是直接release文件夹扔过去?
当然是正常安装的,而且大部分电脑是好的,只有少数出问题。资源文件是嵌入程序集的
绿领巾童鞋 2017-01-06
  • 打赏
  • 举报
回复
缺少了资源文件,你调试的是安装包 还是直接release文件夹扔过去?
为轮子而生 2017-01-06
  • 打赏
  • 举报
回复
引用 13 楼 sp1234 的回复:
你了解一下 source 中的路径的比较完整的写法(从 Assembly 为根引用的方法)。不要随便写相对路径。
Source="/WpfTest;Component/Res/bg_advicer.bmp" Source="pack://Application:,,,/Res/bg_advicer.bmp" 这两种都不行,不知你说的是? 还请举个例子
为轮子而生 2017-01-06
  • 打赏
  • 举报
回复
引用 12 楼 crystal_lz 的回复:
[quote=引用 5 楼 rocmemory 的回复:] 任何事情都有两面性,你不能因为发生一些问题就认为技术革新是错误的,那为什么还要进步呢
在我看到的 2.0 之后增加的东西 基本都是语法糖 方便开发效率 增加语言的一些特性 而语言并不是技术 它只是技术文字上的一种表达形式而已 没有linq我一样写程序 大不了多几句代码 对于这样的封装 虽然方便了开发效率 但是对于一些初学者来说却是一种技术实现上的一种掩盖 很多初学者知其然不知其所以然 甚至觉得实现一个功能就只是几句代码的事情 当遇到几句代码实现不了的时候 就觉得这个功能自己完不成了 而且遇到很多初学的动不动就用4.5之类什么都要用最新的觉得高版本牛逼 结果那些新特性却一个都没用上 那才是真正的错误(或许是初学还不知道那些特性) 不是我不接收更新 只是我觉得我暂时还不需要 还没有到我不用新版本就做不了一些事情的地步 你要说我现在才开始学 那估计我就用新版本了 上面的都是扯 最重要的你做的东西都是给别人用的(其实我的大部分是自己用的) 当你给别人说 要用你的程序需要装东西的时候 别人可能就不乐意了 要用你的东西我还要装这装那的重点是还不知道怎么装我还不如用XXXX呢 所以我用2.0 最保底的 win7 什么的不用考虑 如果是xp用户 随着他平时的使用一些软件的安装 说不定别的软件就给装上了一个环境 在这种情况下 你要考虑的就不是自己了 而是别人 要知道别人不是什么搞技术的 说不定.Net什么的他听都没听过 你给他说叫他装 这种事情 不是没遇到过 别人直接鸟都不鸟你了 还好我只是自娱自乐写写代码 不需要去管这些问题 好了 上面都是我等外卖的时候瞎比比的。。。。[/quote] 你总在说2.0的好处,我觉得这还是取决于需求的,而你那些根本不需要更新技术框架的需求,其实根本用不到.Net。 .Net之所以叫.Net而不是.Client,是因为它更适合构建大型的云服务,至于客户端应用程序,只是其中一个组成部分,或者说,客户端完全可以不适用.Net。 我们团队构建了一个扩展到全铁路局的大型云计算项目,涉及到的算法和数据交互,完全不是2.0那些“使用迭代或其他替代品”可以实现的,这是服务端必须使用4.0或更高版本的理由。 而至于客户端,为了方便其他单位进行二次开发,共享云平台的服务组件,不得不与服务端保持接口上的一致,又不能每次发布都各自产生4.0和2.0两个版本,所以选择牺牲低版本,向服务端看齐。 .Net的好处,并不是因为它能重写控件,能方便地写接口和集成,能嵌套更多的代码和组件,所有与客户端相关的东西,都不是必须使用.Net的原因。
为轮子而生 2017-01-05
  • 打赏
  • 举报
回复
引用 1楼DwLbj 的回复:
bmp图片生成是否设置为Resource?
已经看了,所有图片加进来后默认就是resource
exception92 2017-01-04
  • 打赏
  • 举报
回复
引用 2 楼 rocmemory 的回复:
[quote=引用 1 楼 duanzi_peng 的回复:] bmp图片生成是否设置为Resource?
(那几台电脑已经重装了,现在不太好测试) 这个问题会导致 有的电脑正常,而有的电脑不正常吗?[/quote] 很有可能。 TypeConverterMarkupExtension -》 类型转换标记扩展错误,也就路径没有被识别正确。
crystal_lz 2017-01-04
  • 打赏
  • 举报
回复
所以说 一直用2.0写代码 总感觉高版本在XP上会有很多问题 尤其是精简版系统 而且高版本体积庞大对于有些用户来说 安装都是一个问题 安装过程中各种问题 低版本安装基本没有什么问题 除非迫不得已的情况下我才会提高.Net版本 比如用到了第三方的东西 第三方是高版本 而我自己又没能力把第三方的功能做出来 还有就是我确定我放弃这个程序在XP上运行 才会使用高版本
为轮子而生 2017-01-04
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
bmp图片生成是否设置为Resource?
(那几台电脑已经重装了,现在不太好测试) 这个问题会导致 有的电脑正常,而有的电脑不正常吗?
加载更多回复(1)
WCF、WPF、Silverlight和区别(转) SilverLight可以看作是WPF的一个简化版本,或者一个轻量版本。 SilverLight是基于浏览器插件的,在浏览器中运行,服务器端不需要部署任何环境,客户端只需要安装Runtime浏览器插件,无须安装.net Framework 3.0。所以,SilverLight的运行环境不受操作系统和浏览器的种类限制(更准确的说,是受到较少的限制)。 WPF可以编写Web程序或者桌面应用程序,可以直接编译为独立运行的.Exe文件。WPF运行时必须安装.net Framework 3.0。这就要求WPF目前运行的操作系统必须是Windows Vista或者Windows XP SP2。 此外,SilverLight作为WPF的一个轻量级的版本,比WPF削减了很多功能。 比如,WPF支持直接在XAML中绑定触发来触发动画,而SilverLight就只能通过托管代码或者Javascript来进行。 另外,WPF直接支持3D效果和3D镜头变换,但是SilverLight就不支持这个了。 Silverlight原名WPF/E 就是WPF Everywhere 是WPF的一个子集。 由于名称的关系, WPFWPF/E一直被认为是类似的东西。 其实两者除了呈现UI的部分使用的是共通语言 XAML 之外,两者在本质上有很大的不同。甚至,XAML对WPF与Silverlight有不同的意义,也不能算是两者间"共通的语言。 XAML对WPF来说,是一种把.NET程序语言改用XML来描述的方式。换句话说,XAML用在WPF上,像是另外一种程序语言。与C#, VB , IronPython相似。所以XAML能做的, C# , VB一样都可以做到。但是反过来, C# , VB 能做的,XAML不一定能做到,因为XAML是为了配合开发工具,特别设计出来的一种语言,本身有他的局限性,所以还是得配合正规的程序语言,才能完成一个真正有用的程序。 但是以目前XAML所具备的能力,不靠C# , VB而做到平常简单Flash可以做到的,应该是没啥问题。因此, Application = Code + Markup的作者Petzold才会把这本书的结构写成先用以C#来写WPF程序,后半部才介绍XAML。 避免大家误解 WPF = XAML。 XAML还可以用在WF上,所以并不局限于WPF。 如果用了XAML,以为这就是WPF的全部,就大错特错啰! 然而,XAML对Silverlight来说,本质比较贴近SVG。XAML用来描述构成画面的结构树,然后配合Javascript去操作这颗表示UI的树,以达到互动的效果。 所以对Silverlight来说, XAML像是用来扩充HTML/CSS原本不足的一组Tag。就像Firefox之中,一样可以用Javascript去操作SVG所描述的画面,藉以达成多媒体效果。 WCF,你就先把它想成Web Service的下一代也没什么问题。 WCF为Windows Communication Foundation,是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NET Framework 3.5的重要组成部分。从功能的角度来看,WCF完全可以看作是ASMX,.Net Remoting,Enterprise Service,WebService,MSMQ等技术的并集。 WPF是Windows Presentation Foundation,微软新发布的Vista操作系统的三大核心开发库之一,其主要负责的是图形显示,所以叫Presentation(呈现)。 WPF相对于WinForm,将美工(控件样式设置)与实现(代码的业务实现)分开,是一种新的架构方式。 VS2008新特性是.Net Framework 3.5。
.Net.Framework3.5开发技术详解 完整程度:99%完整 少最后8页 清晰度:一般 格式:PDF 总页数:402 内容简介 《.NET Framework3.5开发技术详解》全面讲解了.NET Framework 3.5开发中各方面的技术要点,共分19章。《.NET Framework3.5开发技术详解》没有对各个功能的工作原理进行深入的揭示,而是采用“知识进述”+“代码示例”的方式,让读者可以快速体验并掌握.NET Framework 3.5的开发方法。 《.NET Framework3.5开发技术详解》适合从事各种.NET程序开发的人员阅读。通过不同层次的例子,相信可以让读者理解、掌握.NET程序开发,特别是关于WPF、WCF和WF这3种重要框架的应用所要掌握的知识。 目录 第1章 .NETFramework3.5 简介 1.1.NETFramework3.5 在.NET技术体系中的位置 1.2.NET3.5 各部分的功能 1.3.NET3.5 的组件 1.3.1 WindowsPresentaionFoundation(WPF) 1.3.2 WindowsCommunicationFoundation(WCF) 1.3.3 WorkflowFoundation(WF) 1.4 搭建.NET3.5 的开发环境 1.4.1 在WindowsXP/2003/Vista上搭建开发环境 1.4.2 相关工具 第2章 .NET3.5 的新功能 2.1.NET3.5 概要 2.2 新的.NET基础类型 2.3 C#语言的强化 2.3.1 C#基本语法增强 2.3.2 LINQ(集成语言查询) 第3章 WindowsPresentationFoundation基础知识 3.1 WindowsPresentationFoundation(WPF)的概念 3.2 XAML的概念 3.2.1 命名空间 3.2.2 代码后置文件 3.2.3 调用.NET类库中的类来定义对象 3.2.4 属性 3.3 WPF的结构和相关的类库 3.4 WPF应用程序的类型 3.4.1 传统类型的视窗程序 3.5 创建第一个WPF程序 第4章 WPF程序的布局 4.1 布局的基础知识 4.2 StackPanel容器 4.3 DockPanel容器 4.4 Grid容器 4.4.1 表格的高度和宽度 4.4.2 ColumnSpan和RowSpan 4.4.3 Grid的SharedSizeGroup 4.5 Canvas容器 4.6 文档布局 4.6.1 WrapPanel 4.6.2 TextBlock 4.6.3 FlowDocument 4.7 其他容器 4.8 视图控制 4.9 自定义布局 第5章 WPF的控件 5.1 控件模型 5.2 WPF的控件树 5.3 路由事件 5.4 从属属性(DependencyProperty) 5.5 处理交互行为 5.6 基本控件的使用 5.6.1 Button控件 5.6.2 TextBox类控件 5.6.3 列表控件 5.6.4 Menu控件 5.6.5 包容式控件 5.6.6 Label和TextBlock 5.6.7 其他控件 第6章 资源和数据绑定 6.1 在WPF中定义资源 6.1.1 WPF中的嵌入式资源 6.1.2 定义逻辑资源 6.2 使用资源 6.3 数据绑定基础 6.4 集合的绑定 6.5 DataProvider 6.6 高级数据绑定操作 6.7 使用CollectionViewSource进行排序和过滤 第7章 让WPF程序支持样式和主题 7.1 样式基础 7.1.1 WPF样式的定义 7.1.2 样式的作用 7.1.3 样式的作用范围 7.2 内联样式 7.3 命名样式 7.4 样式触发器 7.5 控件模板 7.6 主题 第8章 WPF的绘图功能 8.1 2D图形基础 8.2 2D几何图形 8.3 画刷和画笔 8.3.1 画刷 8.3.2 画笔 8.4 2D图形变换(Transform) 8.4.1 平移变换 8.4.2 缩放变换 8.4.3 旋转变换 8.4.4 斜移变换 8.4.5 矩阵变换 8.4.6 变换组(TransformGroup) 8.5 2D图形特效 8.6 3D图形基础 8.6.1 计算机图形学基础 8.6.2 WPF的3D类型 8.7 3D变换 8.8 WPF的动画支持 8.8.1 Animation对象 8.8.2 第一个动画 第9章 WPF的多媒体 9.1 对视频和音频的支持 9.1.1 视频支持 9.1.2 音频支持 9.2 语音功能 第10章 WPF高级技术 10.1 WPF自定义控件 10.1.1 编写控件的基础知识 10.1.2 开始编写控件 10.1.3 编写CustomControl控件 10.2 WPF的互操作性 10.2.1 在WPF中使用Winform控件 10.2.2 在WInform程序中使用WPF控件 10.3 WPF的异步模型 10.4 WPF对自动化程序的支持 10.4.1 Automation树 10.4.2 控件的访问方式 第11章 WindowsCommunicationFoundation(WCF)基础 11.1 面向服务编程模型(框架) 11.1.1 什么是SOA 11.1.2 为什么要使用SOA 11.2 WCF是什么 11.3 WCF的结构 11.4 WCF基础 第12章 WCF中的契约 12.1 服务契约和操作契约 12.2 数据契约(DataContract) 12.3 错误契约(FaultContract) 12.4 创建WCF服务 12.5 编写WCF客户端 12.6 配置WCF程序 12.6.1 服务端配置 12.6.2 客户端配置 12.6.3 配置工具 第13章 WCF中的消息交换 13.1 与通信有关的概念 13.1.1 Address(地址) 13.1.2 Bindings(通信绑定) 13.1.3 Contracts(契约) 13.1.4 EndPoint 13.2 远程对象的传递 13.3 大对象的传递 13.4 错误处理 13.5 会话管理 13.6 双向通信 13.7 WCF的消息编码 13.8 基于队列的消息交换 13.9 点对点网络(Peer-To-PeerNetwork) 第14章 并发管理 14.1 服务器实例行为管理 14.2 并发管理 14.3 同步上下文 14.4 回调的同步设置和异步调用 第15章 WCF的事务支持 15.1 事务概要 15.2 WCF中的事务 15.3 创建支持事务的服务 第16章 WCF的安全解决方案 16.1 认证和授权 16.1.1 认证 16.1.2 授权 16.2 安全传输 16.2.1 传输的安全性 16.2.2 消息安全 16.3 安全策略 第17章 WCF的扩展性 17.1 服务行为的扩展 17.1.1 自定义分发器特性 17.2 自定义通道 17.3 自定义元数据 17.3.1 元数据的基本知识 17.3.2 扩展元数据系统 17.4 自定义序列化 第18章 WCF的运行环境 18.1 在IIS上启用WCF服务 18.2 在.NET程序运行WCF服务 18.3 在Windows服务程序运行WCF服务 第19章 工作流(WorkFlow) 19.1 工作流(WF)简介 19.1.1 工作流的概念 19.1.2 WindowsWorkFlowFoundation 19.2 Activity(活动) 19.3 WF运行时 19.4 基于状态机的工作流 19.5 工作流的持久化 19.6 工作流的XAML表示
作为初学入门选择方向的好教材 许多技术人员在面对.NET Framework 3.0/3.5大量的新知识、新技术的时候感到彷徨,对自己现有的技术知识是否过时会产生疑问,对新技术会产生抵触的情绪,其实,只要能学习到真正代表业界趋势的技术,花不太多的时间掌握新技术,乐趣就会随之产生。编写本书的一个目的就是要让读者认识到.NET 3.5相关的新知识都是基于现有技术的,体会、掌握并应用这些新技术并不是难事。 本书全面讲解了.NET Framework 3.5开发中各方面的技术要点,共分19章。本书没有对各个功能的工作原理进行深入的揭示,而是采用“知识进述”+“代码示例”的方式,让读者可以快速体验并掌握.NETFramework 3.5的开发方法。 本书适合从事各利.NET程序开发的人员阅读。通过不同层次的例子,相信可以让读者理解、掌握,NET程序开发,特别是关于WPF、wcF和WF这3种重要框架的应用所要掌握的知识。 第1章 .NETFramework3.5简介 1 中文名: .NETFramework3.5开发技术详解 作者: 王毅.图书分类: 计算机与网络 资源格式: PDF 版本: 2009 出版社: 人民邮电出版社.书号: 9787115190918.发行时间: 2009年 地区: 大陆 语言: 简体中文 简介: 1.1 .NETFramework3.5在.NET技术体系中的位置 1 1.2 .NET3.5各部分的功能 2 1.3 .NET3.5的组件 3 1.3.1 WindowsPresentaionFoundation(WPF) 3 1.3.2 WindowsCommunicationFoundation(WCF) 5 1.3.3 WorkflowFoundation(WF) 6 1.4 搭建.NET3.5的开发环境 6 1.4.1 在WindowsXP/2003/Vista上搭建开发环境 6 1.4.2 相关工具 9 第2章 .NET3.5的新功能 12 2.1 .NET3.5概要 12 2.2 新的.NET基础类型 12 2.3 C#语言的强化 14 2.3.1 C#基本语法增强 14 2.3.2 LINQ(集成语言查询) 16 第3章 WindowsPresentationFoundation基础知识 34 3.1 WindowsPresentationFoundation(WPF)的概念 34 3.2 XAML的概念 35 3.2.1 命名空间 36 3.2.2 代码后置文件 37 3.2.3 调用.NET类库中的类来定义对象 37 3.2.4 属性 38 3.3 WPF的结构和相关的类库 39 3.4 WPF应用程序的类型 44 3.4.1 传统类型的视窗程序 44 3.5 创建第一个WPF程序 49 第4章 WPF程序的布局 59 4.1 布局的基础知识 59 4.2 StackPanel容器 61 4.3 DockPanel容器 65 4.4 Grid容器 67 4.4.1 表格的高度和宽度 69 4.4.2 ColumnSpan和RowSpan 70 4.4.3 Grid的SharedSizeGroup 71 4.5 Canvas容器 72 4.6 文档布局 74 4.6.1 WrapPanel 74 4.6.2 TextBlock 75 4.6.3 FlowDocument 78 4.7 其他容器 83 4.8 视图控制 84 4.9 自定义布局 87 第5章 WPF的控件 91 5.1 控件模型 91 5.2 WPF的控件树 92 5.3 路由事件 95 5.4 从属属性(DependencyProperty) 97 5.5 处理交互行为 102 5.6 基本控件的使用 106 5.6.1 Button控件 106 5.6.2 TextBox类控件 109 5.6.3 列表控件 113 5.6.4 Menu控件 118 5.6.5 包容式控件 121 5.6.6 Label和TextBlock 126 5.6.7 其他控件 127 第6章 资源和数据绑定 134 6.1 在WPF中定义资源 134 6.1.1 WPF中的嵌入式资源 134 6.1.2 定义逻辑资源 135 6.2 使用资源 139 6.3 数据绑定基础 142 6.4 集合的绑定 151 6.5 DataProvider 157 6.6 高级数据绑定操作 165 6.7 使用CollectionViewSource进行排序和过滤 167 第7章 让WPF程序支持样式和主题 169 7.1 样式基础 169 7.1.1 WPF样式的定义 169 7.1.2 样式的作用 170 7.1.3 样式的作用范围 171 7.2 内联样式 172 7.3 命名样式 172 7.4 样式触发器 174 7.5 控件模板 180 7.6 主题 182 第8章 WPF的绘图功能 189 8.1 2D图形基础 189 8.2 2D几何图形 190 8.3 画刷和画笔 197 8.3.1 画刷 197 8.3.2 画笔 204 8.4 2D图形变换(Transform) 205 8.4.1 平移变换 205 8.4.2 缩放变换 206 8.4.3 旋转变换 206 8.4.4 斜移变换 207 8.4.5 矩阵变换 207 8.4.6 变换组(TransformGroup) 210 8.5 2D图形特效 210 8.6 3D图形基础 213 8.6.1 计算机图形学基础 213 8.6.2 WPF的3D类型 215 8.7 3D变换 218 8.8 WPF的动画支持 221 8.8.1 Animation对象 222 8.8.2 第一个动画 223 第9章 WPF的多媒体 230 9.1 对视频和音频的支持 230 9.1.1 视频支持 230 9.1.2 音频支持 235 9.2 语音功能 238 第10章 WPF高级技术 241 10.1 WPF自定义控件 241 10.1.1 编写控件的基础知识 241 10.1.2 开始编写控件 244 10.1.3 编写CustomControl控件 249 10.2 WPF的互操作性 252 10.2.1 在WPF中使用Winform控件 252 10.2.2 在WInform程序中使用WPF控件 254 10.3 WPF的异步模型 254 10.4 WPF对自动化程序的支持 256 10.4.1 Automation树 256 10.4.2 控件的访问方式 257 第11章 WindowsCommunicationFoundation(WCF)基础 261 11.1 面向服务编程模型(框架) 261 11.1.1 什么是SOA 261 11.1.2 为什么要使用SOA 263 11.2 WCF是什么 264 11.3 WCF的结构 265 11.4 WCF基础 267 第12章 WCF中的契约 268 12.1 服务契约和操作契约 268 12.2 数据契约(DataContract) 269 12.3 错误契约(FaultContract) 272 12.4 创建WCF服务 273 12.5 编写WCF客户端 277 12.6 配置WCF程序 279 12.6.1 服务端配置 279 12.6.2 客户端配置 283 12.6.3 配置工具 284 第13章 WCF中的消息交换 285 13.1 与通信有关的概念 285 13.1.1 Address(地址) 285 13.1.2 Bindings(通信绑定) 286 13.1.3 Contracts(契约) 288 13.1.4 EndPoint 292 13.2 远程对象的传递 293 13.3 大对象的传递 299 13.4 错误处理 303 13.5 会话管理 308 13.6 双向通信 311 13.7 WCF的消息编码 318 13.8 基于队列的消息交换 319 13.9 点对点网络(Peer-To-PeerNetwork) 322 第14章 并发管理 327 14.1 服务器实例行为管理 327 14.2 并发管理 330 14.3 同步上下文 332 14.4 回调的同步设置和异步调用 334 第15章 WCF的事务支持 341 15.1 事务概要 341 15.2 WCF中的事务 343 15.3 创建支持事务的服务 345 第16章 WCF的安全解决方案 353 16.1 认证和授权 353 16.1.1 认证 354 16.1.2 授权 355 16.2 安全传输 360 16.2.1 传输的安全性 360 16.2.2 消息安全 363 16.3 安全策略 364 第17章 WCF的扩展性 368 17.1 服务行为的扩展 368 17.1.1 自定义分发器特性 369 17.2 自定义通道 374 17.3 自定义元数据 378 17.3.1 元数据的基本知识 378 17.3.2 扩展元数据系统 379 17.4 自定义序列化 380 第18章 WCF的运行环境 383 18.1 在IIS上启用WCF服务 383 18.2 在.NET程序运行WCF服务 386 18.3 在Windows服务程序运行WCF服务 387 第19章 工作流(WorkFlow) 392 19.1 工作流(WF)简介 392 19.1.1 工作流的概念 392 19.1.2 WindowsWorkFlowFoundation 393 19.2 Activity(活动) 396 19.3 WF运行时 401 19.4 基于状态机的工作流 405 19.5 工作流的持久化 406 19.6 工作流的XAML表示 407

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧