
WPF编程技术
文章平均质量分 92
Just4life
这个作者很懒,什么都没留下…
展开
-
如何在WPF中调用C#控件库(HexEdit)
1 编写一个Hex Edit控件,使用VS2010建立一个类控件库,分别增加两个类文件,一个命名为HexEdit.cs, 一个命名为TextEditControl.cs,具体内容如下所示: 1)HexEdit.csusing System.Drawing;using System.Windows.Forms;namespace Sense.Test.UIControl{原创 2012-08-27 10:29:04 · 5695 阅读 · 0 评论 -
使WPF程序应用预置的控件风格, 如Aero, Luna, Royale, Classic等
WPF预设有Aero, Classic, Luna, Royale主题, WPF程序会根据Windows主题决定WPF程序所使用的控件风格, 而且当Windows主题不是Aero, Luna或Royale, 而是其他主题的话, WPF将会采用比较丑的Classic主题, 那我怎么让WPF程序使用指定的主题呢? 其实很简单, 下面实例如何设定为Aero主题: 在WPF项目原创 2012-01-04 11:26:06 · 3698 阅读 · 0 评论 -
WPF实现TextBox输入文字后自动弹出数据(类似百度的输入框)
1. 创建一个继承至Canvas的控件,并命名为WPFAutoCompleteTextbox2. 在WPFAutoCompleteTextbox.cs中增加以下代码using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.ComponentModel;原创 2012-01-04 11:05:33 · 7550 阅读 · 2 评论 -
WPF 实现 Apple滑动工具条
<Window x:Class="WPF.AppleToolBar.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="转载 2012-01-03 20:27:26 · 2710 阅读 · 0 评论 -
WPF 右键菜单动画
颜色样式:<LinearGradientBrush x:Key="MenuPopupBrush" EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#7FFFFFFF" Of原创 2012-01-03 19:48:48 · 2348 阅读 · 0 评论 -
WPF中实现类似IE7中的自动隐藏菜单
程序要求实现类似IE7中可以自动隐藏的菜单。在IE7中的菜单,点击ALT键时出现,再次点击隐藏。刚开始时考虑在程序中截获ALT键消息,然后控制菜单的Visibility属性。可是这样做以后总是和IE实现的效果不同,同时发现和按下ALT键时是UP还是Down有关系。测试组发现了很多的BUG,开发不断的打补丁来弥补,确总是达不到理想效果。最后经过研究发现一种简单的方法。添加Menu的G原创 2012-01-03 19:48:03 · 2229 阅读 · 0 评论 -
WPF中的菜单模板
资源字典代码如下:<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Border Margin="2"原创 2012-01-03 19:47:31 · 6626 阅读 · 0 评论 -
使用WPF绘制图片(二)
接使用WPF绘制图片(一) <Path Data=" M 51.203125,309.556152 C 55.011230,31原创 2012-01-03 17:48:08 · 1386 阅读 · 0 评论 -
使用WPF绘制图片(一)
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">原创 2012-01-01 22:24:35 · 4432 阅读 · 0 评论 -
WPF无边框透明窗体的缩放
XAML文件源码:<Window x:Class="WpfResizeWindow.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Wind原创 2012-01-01 22:50:24 · 1938 阅读 · 0 评论 -
WPF 画笔概述
屏幕上的所有可见内容之所以可见,是因为它们是由画笔绘制的。例如,可以使用画笔来描述按钮的背景、文本的前景和形状的填充内容。本主题介绍了使用 Windows Presentation Foundation (WPF) 画笔进行绘制的概念并提供了示例。使用画笔,您可以利用任意内容(从简单的纯色到复杂的图案和图像集)绘制user interface (UI) 对象。使原创 2012-01-01 22:30:07 · 1524 阅读 · 0 评论 -
WPF实现Themes切换
using System;using System.Windows;using Assergs.Windows;namespace XMLSpy.WPF.Util{ /// /// ThemeSwitcher所使用的主题枚举 /// [Flags] public enum ThemeEnum{ CLASSIC = 1,原创 2012-01-04 12:08:37 · 7808 阅读 · 1 评论 -
wpf实现仿苹果水平滑动效果
cs文件源码:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Docu原创 2012-01-03 20:16:42 · 12041 阅读 · 1 评论 -
自定义WPF滚动条(ScrollViewer):仿苹果系统规划
Red Orange DarkRed Gray Pink转载 2012-01-03 20:24:42 · 3011 阅读 · 0 评论 -
WPF---ListView添加窗格线
要想直接在WPF中给ListView加上横竖线条,是一件很费劲的事情,不过我们可以通过其他的办法,来绕过去,具体是什么办法呢,就看下面的步骤吧!1. 建立一个WPF程序2. 添加一个类文件,命名为GridLineDecorator.cs,写入如下内容using System;using System.Collections.Generic;using System.Linq;us原创 2012-08-27 10:04:25 · 6893 阅读 · 0 评论 -
继续聊WPF——Expander控件
本文将编写一个自义模板的Expander控件,如下图所示: <Window x:Class="Expander_Sample2.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft转载 2012-08-27 09:24:18 · 3454 阅读 · 0 评论 -
WPF 深入研究 之 Control 控件
这一章介绍Control 控件。本章共计51个示例,全都在VS2008下.NET3.5测试通过,点击这里下载: Controls.rar关于在VS2008新建WPF类库时,有Custom Control和User Control两个选择。User Control类库会在工程中建立一个XAML文件及其绑定后台代码,前者以UserControl开头,后者是一个派生自UserCo转载 2012-08-27 09:30:07 · 3289 阅读 · 0 评论 -
A Versatile TreeView for WPF
原文地址:http://www.codeproject.com/Articles/23337/A-Versatile-TreeView-for-WPFIntroductionI was recently working on a WPF project, and it was all about data editing and synchronization. Dat转载 2012-08-29 16:06:40 · 1805 阅读 · 0 评论 -
Style设置整行选中的TreeView(Silverlight)
稍微搜索了一下,发现网上很多都是代码实现的,所以........效果图:(黄色为选中,浅蓝色为MouseOver)没啥解释的,看代码。ps:Expanded中我屏蔽了一行,大概在75行左右。 xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" xm转载 2012-08-29 14:20:30 · 1666 阅读 · 0 评论 -
在WPF中,如何得到任何Object对象的XAML代码?
在WPF中,可以使用System.Windows.Markup.XamlWriter.Save(objName)得到任何Object对象的XAML代码。这里举个例子,然后来比较一下:XAML代码:// Window1.xaml xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xm转载 2012-03-21 13:20:41 · 1144 阅读 · 0 评论 -
WPF之自定义窗体
使用wpf能够轻松的制作华丽炫目的程序界面,但是其默认的窗体样式太死板,在win7下看起来还不错,在xp或2003下却显得很不协调;因此我们需要自定义窗体样式,wpf应该如何自定义窗体呢? 最开始我想到的方法,也是最传统的方法,就是是使用模板和样式来自定义窗体,首先设置窗体的WindowStyle为None,然后在Template里定义窗体布局,还需要考虑标题栏拖动、双击最大化、右键系统菜单转载 2012-03-07 14:29:29 · 2108 阅读 · 0 评论 -
WPF示例: 简单模拟Windows资源管理器
using System;using System.Windows;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Input;using System.Windows.Controls;using System.IO;namespace xiaohai转载 2012-02-27 11:05:50 · 4259 阅读 · 0 评论 -
[转载][WPF]TreeViewItem实现整行选中
记得原来做Winfrom通过Item的Bounds可以获得整行的区域,但是在WPF中进行了几个布局方式都没能成功!VS中的解决方案效果布局如下: 这样在第一行第二列方式Border控件,此为选中区域。而如果要实现右侧系统的效果,必须要在选中区域的时候补齐第二行第一列的宽度,但是如果在TreeViewItem的Template不设置子节点列表缩进的话,将无法定位子节点列表缩进转载 2012-02-23 11:29:56 · 8075 阅读 · 1 评论 -
WPF创建无边框透明窗体
1. 测试环境 Windows 7 + Microsoft Blend 42. 操作步骤 1) 使用Blend4建立一个WPF工程 2) 在Windows1.xaml中按照如下内容填写 <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x=原创 2012-01-05 14:24:54 · 5724 阅读 · 1 评论 -
WPF绘制表格 .
WPF的Grid布局使用起来很方便,但如果我想绘制一个带有边线的表格则显得有点儿力不从心(至少目前的WPF 3.5是这样)。虽然Grid有ShowGridLines这个bool类型的属性,但此属性设为true时显示的虚线而且不能改变颜色。比如下面的代码: Window x:Class="WpfApplication1.Window1" xmlns="http://转载 2012-01-01 22:27:38 · 14936 阅读 · 0 评论 -
WPF实现不规则窗体(C#) .
见到一些游戏的客户端窗口,形状是不规则的,一直觉得很炫。就想用winform做一个玩下,思路就是:去掉标题栏,用一张透明背景色的图片作为Form的背景。可是在实现的过程中我却悲愤的发现,winform的控件是支持透明背景色的,但是Form本身却不支持。后来看到一篇文章,貌似窗体的TransparencyKey属性(设置窗体将显示为透明的颜色)可以化解我的悲愤。原来我的思路是错的,真惭愧!但是这种方转载 2012-01-01 22:52:08 · 3419 阅读 · 3 评论 -
WPF中自定义窗体标题栏
在WPF中自定义窗体标题栏,首先需要将窗体的WindowStyle属性设置为None,隐藏掉WPF窗体的自带标题栏。然后我们可以在窗体内部自定义一个标题栏,比如标题栏如下:view plaincopy to clipboardprint?Grid Grid.Row=" 0" x:Name="TitleBar" MouseMove="TitleBar_MouseMove"原创 2012-01-01 22:34:24 · 4847 阅读 · 0 评论 -
WPF创建自定义按钮[2]
自定义按钮行为 此时,您已通过编辑按钮模板自定义了该按钮的表示形式,但该按钮并不像典型按钮那样对用户操作做出响应(例如,在鼠标悬停、接收焦点和单击时更改外观)。下面两个过程将说明如何将类似这样的行为生成到自定义按钮中。我们将从简单的属性触发器开始,然后添加事件触发器和动画。设置属性触发器 1. 创建新的属性触发器 :选择“glassCube”,单击 “触发器”面板中的“+ 属转载 2011-11-23 10:43:37 · 2068 阅读 · 0 评论 -
WPF创建自定义按钮[1]
将形状转换为按钮 在本演练的第一部分,您将创建自定义按钮的自定义外观。为此,首先将一个矩形转换为按钮。然后将其他形状添加到按钮模板,以创建一个外观更复杂的按钮。为什么不从矩形按钮开始并对其进行自定义呢? 这是因为按钮具有您不需要的内置功能;因而对于自定义按钮,从矩形开始更简单些。 在 Expression Blend 中创建新项目 1. 启动 Expression Blend转载 2011-11-23 10:42:28 · 5380 阅读 · 1 评论 -
WPF中动态改变控件显示位置
测试环境: Windows XP/Windows 7开发环境: Microsoft Expression Blend 4 + Microsofot Visual Studio 2008 + .Net FrameWork 4.0步骤一: 使用Blend4建立一个WPF应用程序步骤二: 将窗体上的窗体布局控件换成Canvas控件步骤三:原创 2011-11-02 16:26:17 · 15273 阅读 · 0 评论 -
WPF控件开发之自定义控件(1)
Windows Presentation Foundation (WPF) 控件模型的扩展性极大减少了创建新控件的需要。但在某些情况下,仍可能需要创建自定义控件。本主题讨论可最大限度减少在 Windows Presentation Foundation (WPF) 中创建自定义控件以及其他控件创作模型的需要的功能。本主题还演示如何创建新控件。编写新控件的替代方法 以前,如果要通过现有控件获转载 2011-11-02 11:14:42 · 1660 阅读 · 0 评论 -
WPF数据绑定详解
Windows Presentation Foundation (WPF) 数据绑定为应用程序提供了一种简单而一致的方法来显示数据以及与数据交互。元素可以以公共语言运行库 (CLR) 对象和 XML 的形式绑定到各种数据源的数据。ContentControl(如 Button)和 ItemsControl(如 ListBox 和 ListView)具有内置功能,使单个数据项或数据项集合可以进行灵活转载 2011-10-28 15:02:52 · 2214 阅读 · 0 评论 -
WPF控件开发之自定义控件(5)
尽可能减少帮助器元素所必需的、特定于用户的绑定或属性设置。通常,帮助器元素需要某些绑定或属性设置才能在控件模板中正确工作。帮助器元素和模板化控件应当尽可能多地生成这些设置。在设置属性或者建立绑定时,注意不要重写由用户设置的值。具体的最佳做法如下所示:命名的帮助器元素应当由父级标识,而且父级应当针对帮助器元素建立任何必需的设置。对于基于类型的帮助器元素,应当直接针对它们建立任何必需的设置转载 2011-11-02 11:16:56 · 1250 阅读 · 0 评论 -
WPF控件开发之自定义控件(3)
创建 UserControl 如前所述,在 WPF 中创建控件的最简单方法是从 UserControl 派生。下面的示例演示用于定义 NumericUpDownUserControl 的 用户界面 (UI) 的 XAML: 下面的示例演示此 UserControl 的逻辑。 如此示例所示,自定义 UserControl 的开发模型非常类似于用于应用程序开发的模型。创建自定义转载 2011-11-02 11:15:47 · 1011 阅读 · 0 评论 -
WPF创建自定义窗体
使用wpf能够轻松的制作华丽炫目的程序界面,但是其默认的窗体样式太死板,在win7下看起来还不错,在xp或2003下却显得很不协调;因此我们需要自定义窗体样式,wpf应该如何自定义窗体呢? 最开始我想到的方法,也是最传统的方法,就是是使用模板和样式来自定义窗体,首先设置窗体的WindowStyle为None,然后在Template里定义窗体布局,还需要考虑标题栏拖动、双击最大化、右键转载 2011-06-28 12:06:00 · 2166 阅读 · 0 评论 -
获取WPF所有控件的模板内容
本篇文章介绍的内容对于使用Visual Studio开发WPF界面的开发者来说,意义很重大,当然,如果你也在使用Expression Blend4来进行开发时,意义就不是非常明显了.1. 首先创建XMAL文件<Window x:Class="ControlTemplateBrowser.Window1" xmlns="http://schemas.microsoft.com/win原创 2011-11-21 16:26:48 · 2089 阅读 · 0 评论 -
WPF使用Page创建显示不同控件的程序
1. 测试环境 WIndows XP/7 + VS20102. 操作步骤 1) 创建主Window的XAML文件 <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml原创 2011-11-22 14:16:18 · 5868 阅读 · 2 评论 -
WPF中拖动控件,实现位置随意摆放[1]
一般的拖动程序,都是实现 MouseLeftButtonDown,MouseLeftButtonUp,MouseMove 这三个事件,大多数的情况下,拖动过程中,都是在 MouseMove 这个函数里面设置控件的坐标。以下的代码,只有一点点的不同,在拖动过程中,原控件还是在原来位置,只是新产生了一个按控件外形生成的阴影图片,然后设置该阴影图片的位置,最后,鼠标离开的时候,设置原控件的位置。转载 2011-11-23 10:55:09 · 9308 阅读 · 7 评论 -
WPF中拖动控件,实现位置随意摆放[2]
在WPF中,除了可以通过处理鼠标事件来实现控件位置的拖动以外,还可以通过定义一些控件的行为,来实现控件的拖动,具体操作步骤如下:自定义实现拖动的类库1. 使用VS2010建立一个C#的类库2. 增加"System.Windows.Interactivity.dll"库的引用\ 如果使用的是Blend4,则位置为:"C:\Program Files\Microsoft原创 2011-11-23 11:06:45 · 6861 阅读 · 2 评论 -
WPF中控件绑定XML文件,实现修改XML文件即可以改变程序控件内容
最近一直在研究WPF这个微软提供的用于设计软件产品界面的类库,WPF有一个明显的好处,就是界面设计与界面功能代码编写完全分离,而且从真正意义上实现了数据驱动程序的原理,对于目前正在做软件产品设计的产品设计师们,是一个很大的福音啊. 在正式开始介绍本章内容之前,请大家确保已经准备好了以下工具: 1. Microsoft Express Blend4 2原创 2011-09-21 10:24:47 · 8784 阅读 · 1 评论