随笔分类 -  wpf

wpf
摘要:在WPF中有三大模板ControlTemplate,ItemsPanelTemplate,DataTemplate.其中ControlTemplate和ItemsPanelTemplate是控件模板,DataTemplate是数据模板,他们都派生自FrameworkTemplate抽象类。1、ControlTemplateControlTemplate:控件模板主要有两个重要属性:VisualTree内容属性和Triggers触发器。所谓VisualTree(视觉树),就是呈现我们所画的控件。Triggers可以对我们的视觉树上的元素进行一些变化。一般用于单内容控件。画一个按钮模板来举例说明: 阅读全文
posted @ 2012-03-29 17:21 火腿骑士 阅读(260) 评论(0) 推荐(0)
摘要:在WPF中枚举绑定到ItemsSource。一、通过ObjectDataProvider 获取Enum数据源首先我们定义一个Enum类: public enum TableSelectedType { SelectedOne, SelectedTwo, SelectedThird }接着在Xaml中的Resource里定义数据源。<UserControl.Resources> <ObjectDataProvider x:Key="odp" MethodName="GetNames" ObjectType="{x:Type... 阅读全文
posted @ 2012-03-29 17:19 火腿骑士 阅读(231) 评论(0) 推荐(0)
摘要:WPF数据绑定号称是:数据变化会通过界面更新数据,这对新手而言,绝对是个误区,在我听说这句话的时候,我真是高兴,用了以后才发现其实没有那么美。要实现前面号称的特性,需要三个条件:1、进行绑定,2、绑定的来源要实现INotifyPropertyChanged接口,意思是,源改变了要去通知目标。3、目标要是依赖属性。下面简单贴个例子。XAML文件:1234567891011<Window x:Class="InotifyChangedTest.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml 阅读全文
posted @ 2012-03-29 16:50 火腿骑士 阅读(402) 评论(0) 推荐(0)
摘要:WPF提供了很重要的一个东西就是绑定Binding, 它帮助我们做了很多事情,这个我们在WPF学习之绑定这篇里边有讲过。对于Binding我们可以设置其绑定对象,关系,并通过某种规则去验证输入,或者转换值等等,这一切的背后是省去了很多我们需要自己去处理的代码。而对于WPF最主要表现的东西—渲染UI,当然是我们必须去了解和把握的了。美工设计了很多效果,并把其设计成样式展现(很大程度上我们应该认为Style也是一种资源),而作为程序员的我们不应该只是简单的拿来这些拼凑的效果,根据程序的逻辑和用户的操作来动态的展现效果才是我们能发挥它对界面渲染的更好途径。Trigger就给我们提供了很好的途径去结. 阅读全文
posted @ 2012-03-29 16:39 火腿骑士 阅读(247) 评论(0) 推荐(0)
摘要:public class MyData : ObservableCollection<string>{ public MyData() { Add("Item 1"); Add("Item 2"); Add("Item 3"); }}The following example binds the ItemsSource object of an ItemsControl to MyData.XAMLCopy<!--Create an instance of MyData as a resource.-->< 阅读全文
posted @ 2012-03-29 16:29 火腿骑士 阅读(310) 评论(0) 推荐(0)
摘要:WPF中的数据绑定提供了很强大的功能。与普通的WinForm程序相比,其绑定功能为我们提供了很多便利,例如Binding对象的自动通知/刷新,Converter,Validation Rules,Two Way Binding等功能,省去了很多维护的繁琐工作。另外对于WPF中提供的数据模板功能,让我们可以轻松定制可以被复用的控制呈现的模块—但这是以数据绑定为前提来做到轻松易用的效果的。数据提供者例如XmlDataProvider和ObjectDataProvider更是简化了将对象以特定方式绑定并呈现的过程。可以说,数据绑定是WPF中让我们真正能够开始体现其便利性的特征之一,而对以数据驱动的. 阅读全文
posted @ 2012-03-29 16:04 火腿骑士 阅读(259) 评论(0) 推荐(0)
摘要:WPF感悟(2)——XAML与C#的语法不对称XAML的语法与C#的语法并不是完全对称的,最明显的就是在设置Binding的时候。XAML:<ListBox Name="listBox1" ItemsSource="{Binding ...}" .../>如何看待ItemsSource="{Binding ...}这个attribute?如果认为是listBox1.ItemsSource = new Binding(...);,那就错了——数据类型都不匹配。实际上,这句XAML对应的C#应该是:listBox1.SetBinding 阅读全文
posted @ 2012-03-29 15:51 火腿骑士 阅读(154) 评论(0) 推荐(0)
摘要:深入浅出WPF(9)——数据的绿色通道,Binding(下) 小序:看着自己上一篇技术文章,屈指算来,已经月余没有动笔了——实在是不像话。最近一来是忙工作,二来是兴趣点放在了设计模式上,而且尝试着把设计模式也“深入浅出”了一把,当然啦,因为对于design pattern我也是初学,在没有经过大家检验之前我是不敢拿到blog里丢人现眼滴~~~现在项目组里由喵喵同学、美女燕、大马同学和小马同学一同push一个“设计模式沙龙”,大家一起学习和讨论这些模式和如何应用在我们的项目里做重构。等活动结束后,我心里有底了,就把文章放上来:) N久不动笔了……上回写到哪儿了?呃~~~咱们继续吧! 正文如果用. 阅读全文
posted @ 2012-03-29 15:49 火腿骑士 阅读(172) 评论(0) 推荐(0)
摘要:今天写小东西的时候要用到PasswordBox控件。在实例名后面点个了点之后,发现没有Text这个属性(有Password属性)在网上搜索了一下,发现有三种使用PasswordBox的方法.使用其Password属性值(这个是最简单的了)使用Binding,把PasswordBox中的密码值与后台数据对象的某个属性关联使用PasswordBox的SecurePassword属性本文主要聊聊第三个方法。SecurePassword这个属性是在.NET 3.5 SP1的时候加进来的属性。 SecurePassword的数据类型是SecureString. 对于SecurePassword类型实例. 阅读全文
posted @ 2012-03-29 15:42 火腿骑士 阅读(211) 评论(0) 推荐(0)
摘要:事件也附加——深入浅出附加事件 WPF事件系统中还有一种事件被称为附加事件(Attached Event),简言之,它就是路由事件。“那为什么还要起个新名字呢?”你可能会问。 “身无彩凤双飞翼,心有灵犀一点通”,这就是对附加事件宿主的真实写照。怎么解释呢?让我们看看都有哪些类拥有附加事件:Binding类:SourceUpdated事件,TargetUpdated事件Mouse类:MouseEnter事件、MouseLeave事件、MouseDown事件、MouseUp事件,等等Keyboard类:KeyDown事件、KeyUp事件,等等再对比一下那些拥有路由事件的类,诸如Button、Sl. 阅读全文
posted @ 2012-03-29 15:31 火腿骑士 阅读(221) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/fantasiax/article/details/4575968深入浅出WPF(8)——数据的绿色通道,Binding(中)小序:今天中午吃完饭回工位的路上,和俺们组资深的Level 2技术支持肖老师聊了几句。我跟肖老师说,最近我在学习Binding,肖老师说——那可不是个好东西!因为如果在程序中使用了Binding,当出现错误的时候,比较难于调试。道理很简单——以前使用事件(C++里是回调)的时候,能明确地在事件处理函数里去跟踪调试,现在使用Binding,数据源和UI之间是一支封闭的“管道”,在代码中很难看到他们是在哪里关联上的、出了问题也不知. 阅读全文
posted @ 2012-03-29 15:26 火腿骑士 阅读(265) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/fantasiax/article/details/4575968深入浅出WPF(7)——数据的绿色通道,Binding(上) 小序:怎么直接从2蹦到7啦?!啊哦,实在是不好意思,最近实在是太忙了,忙的原因也非常简单——自己的技术太差了,还有很多东西要学呀。门里门外,发现专业程序员非常重要的一项技能是读别人写的代码,这项技能甚至比自己写代码更重要。Anstinus同学就是读代码的高手,我写的代码他看两眼就知道怎么回事了,并且能够立刻修改,而他的代码我读了好几天还不知道是怎么回事儿呢。2到7之间是留给XAML语言基础的,有些文章已经快写好了,但如果我对. 阅读全文
posted @ 2012-03-29 15:23 火腿骑士 阅读(275) 评论(0) 推荐(1)
摘要:(1)美工和后台可以完全分开了,前端使用blend微软专用设计器设计,后端老牌vs. (2) 完全可以安照设计web界面方式设计。 (3)winform时代也能实现不过需要通过操作panel来布局。 直接上界面图: // <Window xmlns:fx="clr-namespace:FxSplit 阅读全文
posted @ 2012-02-23 17:01 火腿骑士 阅读(3574) 评论(2) 推荐(3)
摘要:http://www.cnblogs.com/Zhouyongh/archive/2009/11/30/1613628.html一站式WPF--Window(一)2009-11-30 14:18 by 周永恒, 3949 visits, 收藏, 编辑用户通过Window与 Windows Presentation Foundation (WPF) 独立应用程序进行交互。Window的主要用途是承载可视化数据并使用户可以与数据进行交互的内容。独立 WPF 应用程序使用 Window 类来提供它们自己的窗口。 这段是MSDN上对Window的描述,虽然翻译的不是那么地道,也可以看出Window.. 阅读全文
posted @ 2012-02-14 16:29 火腿骑士 阅读(287) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/joye/archive/2011/08/16/2140760.htmlWPF 依赖属性属性和事件是.NET抽象模型的核心部分,WPF在这之上增加了Dependency Property(依赖属性)。依赖属性使用更高效的保存机制,并且支持附加的功能,更改通知、属性值继承(在元素树中向下传播默认属性值)以及减少属性存储空间。依赖属性是WPF动画、数据绑定和样式的基础。通过封装,依赖属性和.NET属性的访问方式一致,但是其背后的实现方式是不一样的。使用依赖属性的原因很简单,出于性能考虑,如果WPF设计者只是简单的在.NET属性系统之上添加额外的功能,. 阅读全文
posted @ 2012-02-13 17:34 火腿骑士 阅读(1697) 评论(1) 推荐(1)
摘要:http://www.cnblogs.com/lnetmor/category/336397.html 阅读全文
posted @ 2012-02-13 17:12 火腿骑士 阅读(182) 评论(0) 推荐(0)
摘要:前言 前段时间忙了一阵子Google Earth,这周又忙了一阵子架构师论文开题报告,现在终于有时间继续<WPF之路>了。先回忆一下上篇的内容,在《从HelloWorld到WPF World》中,我们对WPF有了个大概的了解,并了解了初学WPF时应该从哪些知识点入手。今天我们就从最基本的知识点之一布局系统来继续学习WPF,主要包括如下内容。 0,什么是布局1,基本元素——面板2,常用容器控件3,测量与排列4,基本属性:Alignment,Margin和Pading5,附加属性6,布局与性能7,总结0,什么是布局 这是一个很简单的问题。简单来说,就是把一些控件有条理的摆放在界面上合适 阅读全文
posted @ 2012-02-13 16:56 火腿骑士 阅读(491) 评论(0) 推荐(0)
摘要:WPF的数据绑定方法虽然很简单,但感觉实现的方法有很多种,目前没有一个标准,所以根据我已经看过的例子做了一个分类,分别是绑定到:对象、XML、控件和ADO.NET。I. Binding to Object1. Binding to a method using ObjectDataProviderThe data layer operations only in MyData.cssample: http://winfx.members.winisp.net/files/samplemtapp.ziphttp://blogs.msdn.com/karstenj/archive/2006/01. 阅读全文
posted @ 2012-02-08 13:11 火腿骑士 阅读(343) 评论(0) 推荐(0)
摘要:昨天 Bill 淑在噗浪上面問了一個問題:「我有一個傻問題..當我開了一個WPF專案, 上面放了Button, 我要怎麼開啟Expression Blend來修改這個Button ?」 艾小克當時楞了一下, 這個問題不是 Visual Studio 2010 應該早就已經解決了嗎?2008 年就用 WPF Application 取代 Windows Form Application,利用藍芽連結生理訊號的量測設備讀取設備量測數值。那個時候好像就可以了吧??!!!所以就依照 Bill 淑問的問題依樣畫葫蘆,果然在 Visual Studio 2010 還是無法直接開啟 Expression . 阅读全文
posted @ 2012-02-08 10:35 火腿骑士 阅读(353) 评论(0) 推荐(0)
摘要:2010-03-12 00:17:41标签:中文教程 晒文章 silverlight blend原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://kevinfan.blog.51cto.com/1037293/283009 随着计算机软件开发分工细节化,微软对已有的产品线进行了调整,在保持原有经典开发工具Visual Studio基础上,又推出了一套新的设计开发工具系列,Expression Studio。 Expression Studio设计工具系列包含四项主要产品: Expression Blend Expressi.. 阅读全文
posted @ 2012-02-08 10:12 火腿骑士 阅读(2109) 评论(1) 推荐(1)