03 2012 档案
摘要:Binding Validation Rules:<TextBox> <TextBox.Text> <Binding> <Binding.ValidationRules> <ExceptionValidationRule /> </Binding.ValidationRules> </Binding></TextBox.Text></TextBox>复制代码在WPF的验证中引入了ValidationRule验证规则概念,提供一种为检查用户输入的有效性而创建自定义规则的方法。属性:Vali
阅读全文
摘要:WPF企业内训全程实录(中)2010-11-01 21:38 by 圣殿骑士, 9412 visits, 收藏, 编辑摘要 WPF企业内训全程实录由于文章比较长,所以一共拆分成了三篇,上篇WPF企业内训全程实录(上)主要讲了基础,这篇作为该实录的中篇,起着承上启下的作用,主要讲解开发模式、团队协作及应用框架。其实如果大家仔细看目录,可以发现我安排的顺序是首先讲解最基本的概念和基础内容、然后过渡到开发模式及框架、最后结合其他技术和项目实际运用,这也是学习并应用一门技术最好的流程。上篇实际上主要有两个侧重点:一则就是理清脉络——历史渊源、概念引入及基本阐述;二则是讲解WPFBasic——主要讲解.
阅读全文
摘要:Binding是WPF的核心,WPF的数据源有以下几种: 1、ADO.NET中的DataTable 2、xml数据源 3、object数据源 4、元素控件属性详细说明见链接:http://www.cnblogs.com/linlf03/archive/2011/09/06/2168440.html
阅读全文
摘要:首先这边文章是我转载来的,因为CSDN转载来的文章不允许上首页。但是这篇文章真的不错,希望更多的程序员看到。还望本文作者不要怪罪于我。展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是针对那些小弟弟妹妹们。01. 自己的户口档案、养老保险、医疗保险、住房公积金一定要保管好。 由于程序员行业每年跳槽一次,我不隐瞒大家,
阅读全文
摘要:MVVM中要用到很多,我已经看到你点头了,是吗?
阅读全文
摘要:WPF里分三种Binding:Binding, PriorityBinding, MultiBinding,这三种Binding的基类都是BindingBase,而BindingBase又继承于MarkupExtensionBinding提供对绑定定义的高级别访问,绑定将绑定目标对象(通常为 WPF 元素)的属性与任何数据源(例如数据库、XML 文件或包含数据的任何对象)连接起来。常见的使用Binding的代码:C#Binding binding = new Binding();// Set source objectbinding.Source = treeView;// Set sourc
阅读全文
摘要:<ResourceDictionary.MergedDictionaries> <ResourceDictionary Source="/SLDynamicThemes2;component/Assets/Themes/AccentColor/CoreStyles.xaml" /> <ResourceDictionary Source="/SLDynamicThemes2;component/Assets/Themes/AccentColor/SDKStyles.xaml" /> <ResourceDiction
阅读全文
摘要:数据绑定使用了ObservableCollection<T> 类来实现,ViewModel通过继承GalaSoft.MvvmLight.ViewModelBase类来实现,Command使用GalaSoft.MvvmLight.Command.RelayCommand<T>来实现。ObservableCollection<T>表示一个动态数据集合,在添加项、移除项或刷新整个列表时,此集合将提供通知。客户列表绑定客户的名字、QQ、地址信息,单击的时候显示客户的全部详细信息。View层<phone:PhoneApplicationPagexmlns=&qu
阅读全文
摘要:正如绑定TextBox控件的Text属性一样, 我们希望能够将PasswordBox空间的Password属性进行绑定, 比如在MVVM模式中,这似乎是必须的, 但可惜的是, Password属性是不支持绑定的(不是依赖属性, 也没有实现INotifyPropertyChanged). 这应该是出于安全性的考虑. 但在我们的系统为了实现View层密码框中的密码与后台其它层之间的密码属性之间的绑定, 可以采取如下思路: 将密码框的密码和某一个缓冲区进行同步, 缓冲区在和后台进行绑定. 其中密码框与缓冲区之间的同步可采用事件进行通知, 并将缓冲区打造成依赖属性, 然后缓冲区就支持绑定了, 并给..
阅读全文
摘要:一直想做个wpf的loading遮罩效果,论坛里无意间看到别人写了这么一个效果 共享给大家,也留作自己备用先上个效果图基本效果就是这样 实现起来也是只有xaml的动画,实现起来比较方便:代码如下:<UserControl x:Class="Test.LoadingMask" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc
阅读全文
摘要:图1 View、ViewModel、Model之间的关系 在SilverLight或者WPF开发中,为什么要用MVVM架构 使用MVVM架构最大的好处是:开发人员在写程序的时候不需要做UI,而设计人员可以使用Microsoft Expression Blend 4+设计全部的UI并且不需要写任何代码。 主要的好处如下: 1、设计人员可以用设计工具很容易的设计UI,而且不需要写任何代码 2、你可以更好的设计UI,而且可以让即使不是开发人员使用。 3、可以先设计UI或者与开发同时设计。 4、当UI全部改变时,代码可以不改变。 为了达到以上要求。...
阅读全文
摘要:最近在学习MVVM模式,看到其中比较重要的一个知识点就是ICommand,搜集了一些很好的资料,在此整理一下。ICommand - 命令。可以将其绑定到 ButtonBase 或 Hyperlink 的 Command 属性上MVVM 模式 - Model-View-ViewModel MVVM基础学习,本人是看了http://www.cnblogs.com/626498301/archive/2010/08/18/1802204.html讲得很好,很简单也很细致,还有例子。 ICommand 知识,参照MSDN(http://msdn.microsoft.com/zh-cn/library/
阅读全文
摘要:本页内容采用倒叙方式,且看: 10. 高级图形 9. 绘制对象模型 8. 丰富的应用程序文本 7. 可修改的 UI 布局 6. 灵活的内容模型 5. 无外观控件 4. 数据驱动UI 3. 一致的风格 2. 触发器 1. 声明性编程 我们所处的位置当前基于 Win32 的 Windows UI 图形子系统(创建于 Windows® XP 中)已经使用了将近 20 年。它不仅过时了而且有很多限制,从而在某种程度上桎梏了用户界面开发。Windows Presentation Foundation (WPF)(内置于 .NET Framework 之中)为开发应用程序提供了新技术,并可以更好
阅读全文
摘要:尽管有时候用绚丽的WPF展示一个老土的实时时钟标签,让人觉着比老土更老土,但也难免部分特殊情况下会用到这样一个东西,今随手写一个实时刷新的TextBlock时钟放于此地留存,以备不时之需。代码如下:View Code public MainWindow() { InitializeComponent(); InitializeTimeDisplay(); }View Code private void InitializeTimeDisplay() { InitializeTimer...
阅读全文
摘要:字符串比较是比较常用的操作,一般出于以下两个原因比较字符串:判断相等 字符串排序 查询API判断字符串相等或排序时,由以下方法: public override bool Equals(object obj); public bool Equals(string value); public static bool Equals(string a, string b); public bool Equals(string value, StringComparison comparisonType); public static...
阅读全文
摘要:staticvoid Main(string[] args){ string s =""; //(1)字符访问(下标访问s[i]) s ="ABCD"; Console.WriteLine(s[0]); // 输出"A"; Console.WriteLine(s.Length); // 输出4 Console.WriteLine(); //(2)打散为字符数组(ToCharArray) s ="ABCD"; char[] arr = s.ToCharArray(); // 把字符串打散成字符数组{'A
阅读全文
摘要:(一)Messenger的基本组成Messenger类用于应用程序的通信,接受者只能接受注册的消息类型,另外目标类型可以被指定,用Send<TMessage, TTarget>(TMessage message)实现,在这种情况下信息只能被传递如果接受者类型和目标参数类型匹配,message可以是任何简单或者复杂的对象,你可以用特定的消息类型或者创建你自己的类型继承自他们(1)MessageBase:简单的消息类,携带可选的信息关于消息发布者的(2)GenericMessage<T>:范型消息(3)NotificationMessage: 用于发送一个string类型通
阅读全文
摘要:Family Show的子窗口并不是通过新建模式/非模式窗口实现的,而是通过一些UserControl来实现,例如Welcome窗口、Add a family member窗口,一个窗口就是一个UserControl,如果你想在设计时看到这些窗口的最终效果,建议在Expression Blend里面打开,因为Expression Blend支持在设计时读取动态资源(Dynamic Resources),这要比VS2005的WPF Extension直观许多。在MainWindow.xaml.cs中,我们可以找到一些以Show和Hidden开头的方法,如ShowDetailsPane、HideD
阅读全文
摘要:一篇关于“观察者模式与用户控件之间的互动 ”的实例文章,附源代码。链接:http://www.cnblogs.com/insus/archive/2011/12/10/2283142.html
阅读全文
摘要:1、C#接口的作用 :C#接口是一个让很多初学C#者容易迷糊的东西,用起来好像很简单,定义接口,里面包含方法,但没有方法具体实现的代码,然后在继承该接口的类里面要实现接口的所有方法的代码,但没有真正认识到接口的作用的时候就觉得用接口是多此一举,当然你这样想那是绝对绝对错误的,比尔盖茨的微软请的员工都是比盖茨还聪明的人,他们的C#能添这样的多足吗?!关于接口的作用,网上有一位就真的深入浅出给我们做了很好理解的分析。 我们定义一个接口public interface IBark{ void Bark();}再定义一个类,继承于IBark,并且必需实现其中的Bark()方法public class
阅读全文
摘要:1.最原始的绑定方式:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public ObservableCollection<object> ObservableObj;public MainWindow(){InitializeComponent();ObservableObj =new ObservableCollection<object>();ObservableObj.Add(new { Name =&q
阅读全文
摘要:简要Binding基础Binding源与路径列举Binding的源Binding基础从Coding中看Binding的基础。先定义一个Student类:public class Student : INotifyPropertyChanged{ public event PropertyChangedEventHandler PropertyChanged; private string name; public string Name { get { return this.name; } ...
阅读全文
摘要:MVVMThe MVVM pattern is an evolution of the PM pattern that has the three usual principal components:a Model that represents the business entity (like the Employee class example),a View that is the XAML UI,the PM or View Model, which contains all the UI logic and the reference to the Model, so it ac
阅读全文
摘要:MVVM Light组成目前的框架就两个库文件:GalaSoft.MvvmLight库和GalaSoft.MvvmLight.Extras库。GalaSoft.MvvmLight库ViewModelBase:View Model的基础类,MVVM中VM的实现。Messenger:用于ViewModel和View之间传递的消息,注意系统的GalaSoft.MvvmLight.Messaging命名空间下已经预定义了一些常使用的消息处理类,如DialogMessage、NotificationMessageAction、NotificationMessageWithCallback等。Comman
阅读全文
摘要:在使用MVVM之前,还是要真正明确一下使用这种模式的的两个核心目标:1.让UI界面与逻辑能够很好地分离又协同工作。2.让逻辑代码更具有可测试性。写代码的过程中,认真体会吧。
阅读全文
摘要:PO :persistent object持久对象1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。2 .在hibernate持久化框架中与insert/delet操作密切相关。3 .PO中不应该包含任何对数据库的操作。---------------------------------------------------------POJO :plain ordinary java object 无规则简单java对象一个中间对象,可以转化为PO、DTO、VO。1 .POJO持久化之后==〉PO(在运行期,由Hibernate中的cglib
阅读全文
摘要:目录路由事件概述 WPF 元素树 事件路由 路由事件和组合 附加事件 路由命令概述 操作中的路由命令 命令路由 定义命令 命令插入 路由命令的局限 避免命令出错 超越路由命令 路由处理程序示例要想尽快熟悉 Windows® Presentation Foundation (WPF),必须要面对的一个难题是有许多需要掌握的新结构。甚至 Microsoft® .NET Framework 属性和事件这类简单的事物,在 WPF 中也有新的对应项,功能有所更新且更为复杂——尤其是依赖关系属性和路由事件,这一特点更为显著。还有就是那些全新的内容,如动画、样式设定、控制模板和路由命令等
阅读全文
摘要:软件工程这个概念对于我来说太大,软件开发的概念相对涵盖范围小一些,对于我来说还是太大。在很多种情况下,编码,依然是主要工作内容。我想很多人都有类似的经历(大牛请跳过此段): 1.大学时专业是计算机。学过的课程多而全。有些人课余会主动学习下网页、flash、作图,Java,Oracle。 2.毕业后第一份工作往往是从维护别人的软件或协助测试开始,主要是调试源代码,利用SQL事件探查器研究逻辑,对SQL的接触和操作较多.主要遇到的问题是下标无效,SQL语句性能过低的问题。陆续的会根据对所在项目的了解情况,分配到一些模块中的小的修改或简单功能的添加。这个时候往往学习和积累了一部分数据库的知识,慢..
阅读全文
摘要:WPF中按钮默认带有自己的样式,例如鼠标移动上去的样式,当设置图片按钮的时候,如果设置图片的背景为指定的图片,那么鼠标移动上去的时候就有问题了,显示出来的就是蓝盈盈的,光秃秃的样子了,为此迷惑很久,后来发现设置按钮的模板就可以了,设置背景问题就会多,此招果然有效,都不用再去设置鼠标的鼠标移动事件,例子如下:<Button Height="45" Width="45" HorizontalAlignment="Right" Cursor="Hand" Margin="0,0,0,0" <
阅读全文
摘要:转载自园子里快乐之王的一篇“MVVM实践教程 ”,作为MVVM入门教程,颇为受用,不赘述,直接引文: 算算,从事Silverlight和WPF的开发也有1年多的时间了,虽然时间不算长,虽然还没有突出的成就,但是感觉也还算一般。 但是,从头至今都没有去认真研究和使用过MVVM,虽然它被认为是Silverlight和WPF开发的最佳架构实践。 我想这里面还是有一些原因,就像一般开始我们始终都不会看好单元测试。直到有一天你体会到它的魅力,它的好处。 最近的项目,却不得不采用MVVM的模式:UI没有定,甚至服务端的Service都没有定,但是不能等到这些都做好才开始展开我们的开发工作。 于是,痛下决心
阅读全文
摘要:MSDN上关于WPF的动画概述,比较全面的讲解,初学者根据此篇内容即可快速的编写前/后台控件动画效果,如淡入淡出、缩放等页面切换过渡效果。引文:Windows Presentation Foundation (WPF) 提供了一组强大的图形和布局功能,通过应用这些功能,可以创建漂亮的用户界面和吸引人的文档。 动画不仅可以使漂亮的用户界面更加引人注目,还可以使其更加便于使用。 只需对背景色进行动画处理或应用动画 Transform,就可以创造出生动的屏幕过渡效果或提供有帮助的视觉提示。本概述介绍了 WPF 动画和计时系统, 并使用演示图板重点讨论 WPF 对象的动画。本主题包括下列各节。动画简介
阅读全文
摘要:园子里看到“Zachary.XiaoZhen-梦想的家园”有一系列讲解软件模式设计相关的博文,写的甚是详细,可以收藏于此,随着设计开发的深入,慢慢品味其中精髓。博文目录网址如下:http://www.cnblogs.com/BoyXiao/default.html?page=3
阅读全文
摘要:在WPF界面设计中,经常牵涉到对界面颜色的调理,这时候如果有一张表格能把WPF所有颜色跟名称直观的体现出来,将给我们的调色步骤带来很大帮助。很巧,在论坛里搜到这么一张图片,我对其起名“WPF颜色墙”,展现于此,希望对大家有帮助:
阅读全文
摘要:李宝亨的一篇关于“样式”介绍的文章,详实具体易懂,涉及内容目录如下: 1.引言 2.怎样使用样式? 3.内联样式 4.已命名样式 5.元素类型样式 6.编程控制样式 7.触发器把链接记录于此,以便细读:http://www.cnblogs.com/libaoheng/archive/2011/11/20/2255963.html
阅读全文
摘要:我们都知道在WPF中,所有的控件都有Resources属性,里面可以放Resource。一般比较常用的Resource位置就是Application的Resource和各个Window的Resource。那么这两个Resource的位置,除了作用范围不同之外,还有什么不同呢?一个不同点就是,Application的Resource会被作用一个全局共享的Resource的来源。这会给Merge Resource Dictionary带来极大的方便,但是这个性质并不像想象中的那么好用。在实际项目中,通常会对Resource的使用有如下的几点要求。1. 不要把所有的Resource放在一个文件里。我
阅读全文
摘要:代码如下:View Code <Window x:Class="WpfTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Border Corne
阅读全文
摘要:WPF设计已逐渐向Web设计靠拢,比较主流的窗体设计大体分为:Header,Content,Footer三部分。窗体的Content部分随着界面切换不断跳变,但程序时钟运行在一个窗体内。WPF开发可以考虑family show的程序模型,采用UserControl而非Window来开发程序,用UserControl取代Window的好处是,不需要再考虑窗口之间的交互问题,因为从头到尾所有程序逻辑都是在一个窗口中进行处理。而对于那些Flash的开发人员来说,这种模式更是熟悉不过了,你可以把User Control理解成MovieClip对象。
阅读全文
摘要:自定义控件(把控件的“内脏”塞回去,要什么它有什么;要什么它给我们什么;我们给它什么,它自己便会去干什么,不用由外力再次驱动);数据绑定一定要用上(数据驱动UI。不要让“车”拉着“筐”到处跑,小心“禁行”。车上只装“水果”,其余的东西不要随便“装车”,车只拉“水果”,只卸载“水果”);编程=数据+算法;编程=思想+工具;功能驱动设计,莫因设计“工具”和“思想”的缺失,反过来去弱化功能,让功能迁就设计,是设计初期的“大忌”。AOP的学习与了解;写代码尽量“追求逻辑表现”,淡化对“性能”的偏执,两者冲突取前者。性能靠经验,靠决策。“逻辑表现”是底线,不可模糊。在编程领域有一个道理被广为传播:mak
阅读全文
摘要:操作流程;窗体、界面出现频率;操作方式便利性(鼠标,键盘,触摸,外设IO);可由设计者在设计初期自己按照设计构想体验操作,收集不便于操作之处,通过UI元素调整(位置,大小,形态等)来消除这些不利因素;界面Ui元素风格的统一,尽量避免为强调某一控件之作用而随意更改其大小形态等因素,造成界面格局的不协调;自定义控件的默认值以实际输入概率决定。例如:生日,工作时间,频率等,根据实际情况使用最多的值作为默认值。
阅读全文
摘要:什么叫WPF的资源(Resource)?资源是保存在可执行文件中的一种不可执行数据。在WPF的资源中,几乎可以包含图像、字符串等所有的任意CLR对象,只要对象有一个默认的构造函数和独立的属性。也就是说,应用程序中非程序代码的内容,比如点阵图、颜色、字型、动画/影片档以及字符串常量值,可将它们从程序中独立出来,单独包装成"资源(Resource)"。使用资源的优势:1. 由于不用写在程序代码中,方便管理:便于更新。2. 优化资源,节省空间。资源一旦定义,便可重复利用。还记得FLASH中的将物体转换为元件吗?一旦将物体转换为元件,就可以重复利用了。在WPF中,似乎与之有共通之处
阅读全文

浙公网安备 33010602011771号