博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年2月10日

摘要: 利用wpf的动画功能实现窗口的淡入。app.xaml<Application x:Class="EnergeMonitorEVK.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="MainWindow.xaml"> <Application.Resources> ... 阅读全文

posted @ 2012-02-10 16:42 十一郞 阅读(270) 评论(0) 推荐(0) 编辑

摘要: 又是一个周末,到目前为止,房产信息采集的基本功能可以说是完成了。主要包括功能性 增删改标签; 删除、关注房产信息;非功能性 快捷键; 最小化系统托盘; 工具栏、状态栏等;下面大致说下软件整体的情况和功能:概况 在主画面左侧是标签栏,用于显示自定义的标签和软件默认的标签(我关注的和全部)。 表格上部是工具栏,其操作是针对表格中选中的行的。另外工具栏上最后两个按钮的功能分别是下载和刷新。 画面最下面是状态栏,主要用于显示操作的状态和下载状态。左侧标签栏 标签是用户自定义添加的。用于过来下载下来的数据。用户可以根据自己关注的区域、价格、面积等设置标签的属性,方便筛选。右键侧边栏可以打开增删改标签的菜 阅读全文

posted @ 2012-02-10 16:38 十一郞 阅读(309) 评论(0) 推荐(0) 编辑

摘要: 山寨了一下植物大战僵尸测试地址: 文件名:Debugsg.zip,访问地址:http://www.kuaipan.cn/index.php?ac=file&oid=5452452392344978 1 ///<summary> 2 /// SpritObject.xaml 的交互逻辑 3 ///</summary> 4 public partial class SpritObject : UserControl 5 { 6 //public string Code; 7 public string _m名字; 8 publ... 阅读全文

posted @ 2012-02-10 16:34 十一郞 阅读(330) 评论(0) 推荐(0) 编辑

摘要: Windows SDK 包括一套用于 Windows Presentation Foundation (WPF) 应用程序的性能分析工具,称为“WPF 性能套件”。 使用 WPF 性能套件可以分析 WPF 应用程序的运行时行为,并确定可以应用的性能优化。 WPF 性能套件包括称为分析器和可视化探查器的性能分析工具。 本主题介绍如何安装和使用 WPF 性能套件中的分析器和可视化探查器工具。 本主题包含以下各节:安装 WPF 性能套件启动 WPF 性能套件分析器可视化探查器安装 WPF 性能套件 以下步骤介绍如何安装 WPF 性能套件。 如果您已安装早期版本的 Windows 性能工具包,请... 阅读全文

posted @ 2012-02-10 16:21 十一郞 阅读(1627) 评论(0) 推荐(1) 编辑

摘要: 1. 什么是MVVMMvvm是一种模式(相对于Mvc Mvp等)。Mvvm的最终目的是为了实现数据展现、逻辑处理和数据存储的分离。为了能够实现这一功能WPF提供了3个功能:数据绑定、属性更改通知、事件命令映射机制。1.1 Data Binding通过数据绑定,将View中的控件属性与ViewModel中的属性建立一种连接机制。1.2 INotifyPropertyChanged只有实现了INotifyPropertyChanged接口的属性,在通过set进行赋值时发送变更通知,响应的View中与之建立连接的控件属性值也会发生改变1.3 EventToCommand用于建立View中控件的事件与 阅读全文

posted @ 2012-02-10 15:59 十一郞 阅读(1725) 评论(0) 推荐(0) 编辑

摘要: 之前做了一个横向的滑块效果,《WPF:CheckBox滑块效果》,其实我觉得那个不好看,今天又做了一个竖向的玩。 1 <Style TargetType="{x:Type CheckBox}"> 2 <Setter Property="Foreground" Value="White"/> 3 <Setter Property="Padding" Value="2"/> 4 <Setter Property="Template"> 阅读全文

posted @ 2012-02-10 15:51 十一郞 阅读(445) 评论(0) 推荐(0) 编辑

摘要: 看看WPF Cursor类的两个构造函数吧:public Cursor(Stream cursorStream) public Cursor(string cursorFile) 恩, 均要求用 ani 或 cur, 无语啊,我要使用一张普通图片呢? 或者甚至是在程序内存中动态生成一张图片而生成鼠标指针呢?于是乎, 我们可以折腾出如下代码, 它可以从由一张图片来创建鼠标指针: ///<summary> /// This class allow you create a Cursor form a Bitmap ///</summary> internalclass Bi 阅读全文

posted @ 2012-02-10 15:49 十一郞 阅读(355) 评论(0) 推荐(0) 编辑

摘要: WPF虽然很美观,效果很炫,但是对资源的消耗也很大,尤其是初次接触WPF的人,因为很多地方虽然实现了想要的效果,但是由于经验问题,所以也会造成很大的资源浪费,好的程序,需要更好的优化。虽然可能只是节省了很少的一点资源,但是对整体程序运行的速度与稳定性来说,也许就起到了决定性的作用;每个地方都能做到一点优化,那么在成个程序中,优化的效果就会很明显,流畅、稳定,才是一个程序的健康状态。在MSDN上看到的这个说明“对象行为”,上面说到,每一个SolidColorBrush占用的大小,当冻结的时候,需要212字节,未冻结的则需要972字节,即使单位很小,但是差距还是非常大的,通常我们写程序的时候,这类 阅读全文

posted @ 2012-02-10 15:46 十一郞 阅读(952) 评论(0) 推荐(0) 编辑

摘要: 本篇博客主要说明如何使用 UI Virtualization(以下简称为 UIV) 来提升 OEA 框架中 TreeGrid 控件的性能,同时,给出了一些学习 UIV 的资源。问题 最近对 OEA 的 TreeGrid 控件进行了比较大的改造,并使用新的控件来替换了系统中所有的 DataGrid 控件。新的 TreeGrid 控件实现了很多新的功能,(之后会写一篇文章说明),但是最后遗留了一个问题:由于使用它替换了原来的 DataGrid,而 DataGrid 默认是支持 UI Virtualization 的,当有些界面的数据量比较大时,没有支持 UIV 的TreeGrid 控件就显得有些力 阅读全文

posted @ 2012-02-10 15:26 十一郞 阅读(717) 评论(0) 推荐(0) 编辑

摘要: 需求要求只有一个程序启动,OK,这个很简单,以前在Form中我们很简单就可以实现,我们考虑的就是用Mutex类来向线程授予共享资源独占访问权。但是如果使用的是WPF,还使用了MVVMLight,恭喜你,你马上要面临一个很诡异的错误,我们看下面: 我们使用net3.5,新建一个MVVMLight模板的WPF程序。如图示: MVVM自动帮我们添加了ViewModel、Model文件夹。其中MainViewModel是MainWindow的ViewModel,ViewModelLocator是进行ViewModel和View定位文件,即指定哪个View使用哪个ViewModel。我在一般... 阅读全文

posted @ 2012-02-10 12:24 十一郞 阅读(522) 评论(0) 推荐(0) 编辑

摘要: 笔记大概CLR属性依赖属性附加属性CLR属性public class Human{ private int age; public int Age { get { return this.age; } set { if (value >= 0 && value <= 100) { this.age = value; } else { ... 阅读全文

posted @ 2012-02-10 12:20 十一郞 阅读(935) 评论(0) 推荐(0) 编辑

摘要: 项目中常会需要动态保存导航信息,比如:一个页面有一个输入框,当输入框输入内容改变后,能保存当前页面的状态,能点击“回退”按钮回到以前的输入状态。具体的实现如下:一、日志(journal)Navigation都记录在日志中,WPF提供了操作日志的方法:1.RemoveBackEntry()2.AddBackEntry(JournalEntry)二、动态保存导航1.定义JournalEntry,主要定义Entry、Replay处理方法,代码简短的例子如下:[Serializable]public class CustomEntry : CustomContentState{ public str. 阅读全文

posted @ 2012-02-10 12:19 十一郞 阅读(856) 评论(0) 推荐(0) 编辑

摘要: 带有返回值的导航一、设置PageFunctionxmlns:src = "clr-namespace:类1的名字空间"x:TypeArguments = "src:类1"RemoveFromJournal = true二、PageFunction中返回值1.返回正常值OnReturn(new ReturnArgs<类1>(new 类1()));2.返回空值OnReturn(null);三、Page中导航到PageFunctionPageFunction01 pf = new PageFunction01();pf.Return += (obj 阅读全文

posted @ 2012-02-10 12:19 十一郞 阅读(227) 评论(0) 推荐(0) 编辑

摘要: Applicantion也能回退的感觉真好。呵呵。一、Page这就是能保存导航路径的基本单位。Title:Navigation中保存的名字二、宿主NavigationWindow 和 Frame三、如何记录一个导航1.NavigateUri变化时,会自动记录,例如: <Hyperlink NavigateUri="Page2.xaml">lingk to Page2</Hyperlink>2.调用Navigate函数,例如: NavigationService nav = NavigationService.GetNavigationService( 阅读全文

posted @ 2012-02-10 12:18 十一郞 阅读(524) 评论(0) 推荐(1) 编辑

摘要: 我首先想到的是应用程序域AppDomain类型的UnhandledExceptionEventHandler,试了试才知道原来AppDomain.UnhandledExceptionEventHandler就是一个通知性质的事件,没有处理异常的功能,自然未处理异常还会是程序崩溃。它的UnhandledExceptionEventArgs中有两个属性:IsTerminating和ExceptionObject,分别代表程序是否在崩溃和引起崩溃的异常对象。比如这段代码: staticvoid Main(string[] args) { AppDomain.CurrentDomain.Unhandl 阅读全文

posted @ 2012-02-10 12:16 十一郞 阅读(826) 评论(0) 推荐(0) 编辑

摘要: 谢谢大家对我上一篇Blend的支持:通通玩blend美工(1)——荧光Button 再接再厉再来一篇~~!这篇是建立在已经看得懂上一篇为基础来写的,有些细节我就不说了,截了这么多张图....写起来很累的....最终效果如下:哇居然这么大...有点刷屏的嫌疑..1.总体思路分析上面效果--表盘+环形数字+时针+阴影各种logo装饰表盘:由一些同心圆叠在一起,不同的圆用不同的渐变来填充背景以造成层次效果。环形数字:画个圆,根据它创建布局路径,再往路径里添加数字。时针:用钢笔工具画出来的尖三角形和直线。把其中心点设置到线的一端并和表盘中心点重合,这样就可以圆周运动了。阴影和logo:阴影凸显其立体感 阅读全文

posted @ 2012-02-10 11:42 十一郞 阅读(334) 评论(0) 推荐(0) 编辑

摘要: 最近老大出差去了,光做项目也有点烦,写点教程消遣消遣(注:此乃初级教程,所以第一个消遣是本人消遣,第二个是指供各位看官消遣...) 看着各位大虾出系列文章貌似挺好玩的,本人耍了2个月的Wpf,有点见解,希望各位看官笑纳。本系列第一章就先来点简单又实用的吧o(∩_∩)o 哈哈..最终效果如下:←点它本人一直在做WPF算是第一次做silverlight,这样主要是为了能够在博客里更好的展示成品 。(特别鸣谢银光中国提供的免费silverlight空间)1.总体思路分析上面效果--button为一个发光的三角形在MouseOver和click的时候有响应的动画效果...发光的三角形:由2个空心三角. 阅读全文

posted @ 2012-02-10 11:16 十一郞 阅读(258) 评论(0) 推荐(0) 编辑