自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 C#学习笔记(一)

创建.NET应用程序的步骤:1)使用某种.NET兼容语言编写应用程序代码2)把代码编译为CIL,存储在程序集中3)执行代码时,使用JIT编译器将代码编译为本机代码4)在托管的CLR环境下运行本机代码,以及其他应用程序或进程用字符串表示带路径的文件名,字符串中会带有大量的斜杠,例如:"c:\\Temp\\MyDir\\MyFile.doc"

2012-07-06 22:56:19 1370

转载 三星i9220卡刷的刷机教程

注意:卡刷之前必须先双WIPE(1)双wipe,即两个wipe是指wipe data/factory reset与wipe cache partition。双wipe目的是彻底清楚手机里的数据。(2)CMw是ClockworkMod Recovery的缩写,其实是一种刷机模式。那如何使用CMw双wipe呢?其实很简单,关机状态下,同时按住“音量上键”+“HOME”+“电源键”即可进

2012-05-27 11:21:42 3097

原创 高效程序员的45个习惯

敏捷宣言:个体和交互胜过过程和工具可工作的软件胜过面面俱到的文档客户协作胜过合同谈判响应变化胜过遵循计划敏捷是一种一人为本、团队合作、快速响应变化和可工作的软件作为宗旨的开发方法,敏捷方法可以快速地响应变化,它强调团队合作,人们专注于具体可行的目标,这就是敏捷精神。敏捷开发就是在一个高度协作的环境中,不断地使用反馈进行自我调整和完善。没有任何计划在遇敌后还能

2012-05-23 20:40:41 1115

原创 astyle参数备份

--style=ansi $(ItemPath) --delete-empty-lines -s4 -S -f -p -H -U -c -n -l -N -L -Y -M -j -k2

2012-02-22 16:14:34 945

原创 WPF之资源

WPF中的数据分为四个等级存储:数据库、资源文件、WPF对象、变量每个WPF的界面元素都有一个名为Resources的属性,这个属性继承自FrameworkElement类,起类型为ResourceDictionary,ResourceDictionary能够以“key-value”对的形式存储资源,在保存资源时,ResourceDictionary认为资源对象的类型是object

2012-01-11 19:28:05 2516

转载 深入浅出VC++动态链接库

DLL(Dynamic Linkable Library)可以简单的看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。静态链接库

2011-12-28 20:24:53 723

原创 WPF事件(一)内置路由事件

Windows是消息驱动的操作系统,运行其上的程序也遵照这个机制运行,随着面向对象开发平台日趋成熟,微软把消息机制封装成了更容易让人理解的事件模型,一个事件包含3个关键点:事件的拥有者、事件的响应者、事件的订阅关系为了降低由事件订阅带来的耦合度和代码量,WPF推出了路由事件机制,路由事件与传统的直接事件的区别在于,直接事件激发时发送者直接将消息通过事件订阅交送给事件响应者,事件响应者使用其事件

2011-12-16 11:38:59 2769

原创 WPF属性(二)附加属性

附加属性是说一个属性本来不属于某个对象,但由于某种需求而被后来附加上,也就是把对象放入一个特定环境后对象才具有的属性就称为附加属性,附加属性的作用就是将属性与数据类型解耦,让数据类型的设计更加灵活,举例,一个TextBox被放在不同的布局容器中时就会有不同的布局属性,这些属性就是由布局容器为TextBox附加上的,附加属性的本质就是依赖属性,二者仅仅在注册和包装器上有一点区别小技巧,在VS中输

2011-12-15 17:52:23 11947

原创 WPF属性(一)依赖属性

依赖属性是一种可以自己没有值,并能通过使用Binding从数据源获得值的属性,拥有依赖属性的对象称为依赖对象,在传统开发中,一个对象所占用的内存在调用new操作符进行实例化的时候就已经决定了,而WPF允许对象在被创建的时候并不包含用于存储数据的空间,只保留在需要用到数据时能够获得默认值、借用其他对象数据或实时分配空间的能力,这种对象就是依赖对象,而这种实时获取数据的能力就是靠依赖属性来实现。W

2011-12-14 11:47:45 5038

原创 数据绑定(十一)多路绑定MultiBinding

有时候UI要显示的信息又不止一个数据来源决定,就需要使用MultiBinding,MultiBinding具有一个名为Bindings的属性,其类型是Collection,通过这个属性MultiBinding把一组Binding对象聚合起来,处在这个集合中的Binding对象可以拥有自己的数据校验与转换机制,它们汇集起来的数据将共同决定传往MultiBinding目标的数据。举例:有如下界面

2011-12-09 14:24:28 8660

原创 数据绑定(十)Binding的数据转换

当Source端Path所关联的数据与Target端目标属性数据类型不一致时,需要添加数据转换器,数据转换器是一个自定义的类,这个类需要实现IValueConverter接口,这个接口有两个方法需要实现:Convert和ConvertBack,当数据从Source流向Target时,将调用Convert方法,反之,将调用ConvertBack方法例子,首先定义飞机类型 publi

2011-12-09 14:02:04 2548

原创 数据绑定(九)Binding的数据校验

Binding用ValidationRules属性来校验数据的有效性,ValidationRules属性类型是Collection,他可以设置多个数据校验条件,ValidationRule是抽象类,使用的时候需要创建它的派生类并实现它的Validate方法,Validate方法的返回值是ValidationResult类型对象,如果校验通过,就把ValidationResult对象的IsValid

2011-12-08 17:23:13 2535

原创 数据绑定(八)使用Binding的RelativeSource

当一个Binding有明确的数据来源时可以通过为Source或ElementName赋值的办法让Binding与之关联,有的时候由于不能确定Source的对象叫什么名字,但知道它与作为Binding目标的对象在UI布局上有相对关系,比如控件自己关联自己的某个数据、关联自己某级容器的数据,就要使用Binding的RelativeSource属性。RelativeSource属性的数据类型为Relat

2011-12-07 21:00:26 18199 3

原创 数据绑定(七)使用ObjectDataProvider对象作为Binding的Source

ObjectDataProvider就是把对象作为数据源提供给Binding,类似的还有XmlDataProvider,也就是把XML数据作为数据源提供给Binding,这两个类的父类都是DataSourceProvider抽象类举例有一个Calculator类,提供了一个Add方法 public string Add(string arg1, string arg2)

2011-12-07 20:26:56 4409

原创 数据绑定(六)使用XML数据作为Binding的Source

.NET Framework提供了两套处理XML数据的类库1. 符合DOM标准的类库:包括XmlDocument、XmlElement、XmlNode、XmlAttribute等类,这套类库的特定是中规中矩、功能强大,但也背负了太多XML的传统和复杂2. 已LINQ为基础的类库:包括XDocument、XElement、XNode、XAttribute等类,这套类库的特点是可以

2011-12-07 17:00:27 3633

原创 数据绑定(五)使用集合对象作为列表控件的ItemsSource

ItemsSource属性可以接收一个IEnumerable接口派生类的实例作为自己的值,ItemsSource里存放的是一条一条的数据,列表式控件的条目容器会为这些数据传上外衣,只要为ItemsControl对象设置了ItemsSource属性值,ItemsControl对象就会自动迭代其中的数据元素,为每一个数据元素准备一个条目容器,并使用Binding在条目容器与数据元素之间建立起关联,例子

2011-12-07 14:33:03 6333

原创 数据绑定(四)使用DataContext作为Binding的Source

DataContext属性被定义在FrameworkElement类里,这个类是WPF控件的基类,这意味着所有WPF控件都具备这个属性,当一个Binding只知道自己的Path而不知道自己的Source时,它会沿着UI元素树一路向输的根部找过去,没路过一个节点,就看看这个节点的DataContext有没有指定的Path,如果有,就把这个对象作为自己的Source,看看例子,首先定义一个类

2011-12-07 00:03:15 10401

原创 数据绑定(三)为Binding指定绑定源的几种方法

Binding的源是数据的来源,所以,只要一个对象包含数据并能通过属性把数据暴露出来,它就能当作Binding的源来使用,常用的办法有:一。把普通CLR类型单个对象指定为Source如果类型实现了INotifyPropertyChanged接口,则可通过在属性的set语句中激发PropertyChanged事件来通知Binding数据已被更新二。把普通CLR集合类型对象指定为S

2011-12-06 22:45:45 3698

原创 数据绑定(二)把控件作为Binding源

下面的代码把一个TextBox的Text属性关联在了Slider的Value属性上<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.micros

2011-12-06 15:35:23 2146

原创 数据绑定(一)一个简单的例子

控件是用来展示数据的,而不是用来存储数据的如果把Binding比作数据的桥梁,那么它的两端分别是Binding的源(Source)和目标(Target),数据从哪里来哪里就是源,Binding就是加载中间的桥梁,Binding目标就是数据要到哪儿去,一般情况下,Binding源是逻辑层的对象,Binding目标是UI层的控件对象,这样,数据就会源源不断通过Binding送到UI层,也就完成了数

2011-12-05 22:12:55 3263

原创 布局篇-WrapPanel布局

WrapPanel内部采用流式布局,使用orientation属性控制流延伸方向,用HorizontalAlignment和VerticalAlignment两个属性控制内部控件的对齐,例子如下

2011-12-04 17:16:58 7579

原创 布局篇-DockPanel布局

DockPanel内的元素会被附加上DockPanel.Dock这个属性,这个属性的数据类型为Dock枚举。Dock枚举可取Left、Top、Right和Bottom四个值,根据Dock的值,DockPanel内的元素会向指定方向累积、切分DockPanel内部剩余的空间,DockPanel的LastChildFill属性,用于设置DockPanel内最后一个元素是否会填充满全部的剩余空间示例

2011-12-04 17:02:36 9358

原创 布局篇-Canvas布局

使用Canvas布局与在Windows Form窗体上布局基本上是一样的,当控件放置在Canvas里时附加上Canvas.X和Canvas.Y属性示例代码: 效果如图

2011-12-04 16:53:21 5038

原创 布局篇-StackPanel布局

StackPanel可以把内部元素在纵向或横向上紧凑排列,形成栈式布局StackPanel的三个属性属性名称数据类型可取值描述OrientationOrientation枚举HorizontalVertical决定内部元素是横向累积还是纵向累积HorizontalAlignment

2011-12-04 16:44:17 18622 1

原创 布局篇-Grid布局

特点:1)可以定义任意数量的行和列2)行的高度和列的宽度可以使用绝对值、相对比例或自动调整的方式,可设置最大值和最小值3)内部元素可以设置自己所在的行、列,还可以设置跨越几行、几列4)可以设置内部元素的对齐方向Grid类具有ColumnDefinitions和RowDefinitions两个属性,它们分别是ColumnDefinition和RowDefinition的集

2011-12-04 15:52:50 18569

原创 控件篇

日常使用最多的控件有6类:1. 布局控件:可以容纳多个控件或嵌套其他布局控件,例如Grid、StackPanel、DockPanel等,有共同的父类Panel2. 内容控件:只能容纳一个其他控件或布局控件作为它的内容,例如Window、Button等,有共同的父类ContentControl3. 带标题内容控件:相当于一个内容控件,但是可以加一个标题,例如GroupBox、TabI

2011-12-04 15:36:46 1907

原创 x名称空间中的内容

x名称空间映射的是http://schemas.microsoft.com/winfx/2006/xaml,它包含的类均与XAML的解析有关,下面分三部分介绍一:x名称空间的attribute1. x:Class告诉XAML编译器将XAML标签的编译结果输出到哪个类中2. x:ClassModifier告诉XAML编译器由标签编译生成的类具有怎样的访问控制级别

2011-12-04 14:44:52 1315 1

原创 渐变画刷示例

例子代码

2011-12-04 12:51:41 2820 1

转载 C#中的计时类

Stopwatch 实例可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间。在典型的 Stopwatch 方案中,先调用 Start 方法,然后调用 Stop 方法,最后使用 Elapsed 属性检查运行时间。Stopwatch 实例或者在运行,或者已停止;使用 IsRunning 可以确定 Stopwatch 的当前状态。使用Start 可以开始测量运行时

2011-11-23 16:22:42 945

转载 XAML的命名空间

一个最简单的XAML例子 <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

2011-11-21 22:25:01 4440

转载 获得系统特定目录的路径

// 获得%APPDATA%路径 Console.WriteLine(System.Environment.GetEnvironmentVariable("appdata")); // 取得各种系统固定路径 Type folder = typeof(Environment.SpecialFolder);

2011-11-19 13:55:41 885

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除