WPF
文章平均质量分 73
cpplog
80后程序员
展开
-
依赖倒置、控制反转和依赖注入(二)
概述 前文中介绍了依赖倒置原则及其优点,本文我将会介绍控制反转(Inversion Of Control, IoC)及控制反转容器(IoC Container)。 本系列分为5个部分。 1. 依赖倒置原则 2. 控制反转和控制反转容器(IoC Container) 3. 自定义控制反转容器(IoC Conta翻译 2014-06-27 16:44:18 · 1096 阅读 · 0 评论 -
WPF利用代码触发按钮点击操作
在WPF开发过程中,某些场景下,需要模拟点击按钮进行某些操作,也就是用代码调用某些接口,实现对于按钮的点击。但是Button控件提供的接口中并没有这样的方法,它只提供了Click事件。解决办法如下:ButtonAutomationPeer peer = new ButtonAutomationPeer( someButton );IInvokeProvider invokeProv =原创 2015-03-04 14:04:57 · 9981 阅读 · 4 评论 -
异常A generic error occurred in GDI+的解决办法
WPF开发中,对图片进行操作时,有时会遇到这样的异常“A generic error occurred in GDI+”,结合我所遇到的情况,根本原因是当一个对象对图片文件进行操作时,例如只是读取图片文件显示,另外一个对象对该文件路径进行写操作,异常出现了。解决办法是在UI显示图像时,采用数据流加载即可避免上述问题,如果以文件加载的话,问题就会出现。例如如下小功能,替换图像。程序首先显示了原创 2015-01-23 18:50:51 · 13858 阅读 · 0 评论 -
WPF中的OpenFileDialog
WPF开发过程中,也有打开指定文件或者是导入文件的需求,事实上WPF中并未提供专门的负责进行文件打开的对话框类。因此通常需要引用非WPF的对话框类来完成此功能。有两种办法,一种是利用Microsoft.Win32.OpenFileDialog,另一种是System.Windows.Forms.OpenFileDialog,但是采用第二种的话需要添加对于相关类库的引用。通常采用第一种方式。相原创 2015-01-19 18:56:23 · 6702 阅读 · 0 评论 -
WPF中Height和ActualHeight的区别
WPF中的FrameworkElement存在两个属性,Height和ActualHeight。其中ActualHeight表示的是元素重绘制后的尺寸,并且是只读的。也就是说其始终是真实值。而Height属性,是可读写的,并且有如下特性:(1)Height属性值可以为0或者是Double.NaN。出现Double.NaN值是因为Xaml中设置了元素的Size为Auto。(2原创 2015-02-03 17:10:27 · 6010 阅读 · 0 评论 -
WPF圆形头像设置
发现有些小程序设置头像的处理似乎有点问题,特别是不断的放大、缩小后,会出现图片只显示出一半。主要问题是这些程序对于图片的边界判断存在问题,从而导致一些问题。本文主要实现WPF下用户头像的设置处理,实现功能是用户选择一张图片该例子可以对选择的图片进行缩放和移动操作,最后方块内的部分,会被裁剪出来,最后以圆形头像显示出来。启动后初始画面如下所示:点击设置头像后,会显示对话框,点击导原创 2015-02-02 17:40:17 · 4137 阅读 · 1 评论 -
WPF项目中.xaml文件和.xaml.cs文件无法收缩显示的解决办法
在VisualStudio的WPF项目中,通常同名的.xaml和.xaml.cs文件是能够收缩显示的,但是在某些情况下,会出现.xaml和.xaml.cs并列显示,无法进行收缩.如下图,绿色部分为正常的显示情况;红色部分为不正常显示情况.解决办法是修改.csproj文件,用记事本将.csproj文件,检索需要修改的文件名.将如下代码修改为如下代码,再次代开项目即可. Window2.原创 2015-01-30 16:12:32 · 3927 阅读 · 0 评论 -
WPF圆形头像显示
不知何时开始,大多数软件的头像采用了圆形头像,使用WPF进行圆形头像显示比较简单,并不是将图像裁剪成圆形头像后显示.思路是裁剪出一个正方形的头像,然后在显示的时候,只显示正方形中的内切圆部分即可.WPF中的Image类中有一个Clip属性,只需要设置好该属性即可.生成后的效果如下所示:原创 2015-01-30 14:06:22 · 13234 阅读 · 0 评论 -
依赖倒置、控制反转和依赖注入(一)
概述 在进行WPF开发时,我遇到了Unity Container、IoC、Dependency Injection等。当时我陷入到困惑的思考总,为什么要使用这些。当后来我逐渐的了解这些技术的优点后,我开始意识到了我们实际上是需要他们的。 本文,我来解释DI和IoC的需求和使用情况,本文分为5个部分。 1. 依赖倒置原则 2.翻译 2014-06-10 15:15:00 · 1876 阅读 · 0 评论 -
WPF的热键实现
项目开发中,需要实现对于热键的支持,实际上有两种方案来实现,一种是采用WPF的方式,即命令绑定,利用InputBinding实现ICommand的快捷键绑定处理,另一种是调用系统API注册热键的方式.但是如果想要实现全局热键及应用程序级别的热键处理,个人认为第二种方案更为合适.我的代码中,最初选择的是第一种方案,但是测试过程中发现了一个问题,利用InputBinding的形式来绑定的快捷键处理原创 2015-03-13 13:56:48 · 4953 阅读 · 1 评论