2013/08/28 C# WPF 学习笔记

来源:互联网 发布:流星网络电视怎么样 编辑:程序博客网 时间:2024/06/05 18:01

String Formart

string format = "前人渴望的{0},就是我们的{1},好好珍惜眼前的{2}!"format = string.Format(format, new object[] { "未来" , "现在", "一切" });


代码端 Binding

//txt_ipaddress 是TextBox控件//myTest 是一个对象,该对象内有IPAddress属性//ConvertTest 是一个转换器类txt_ipaddress.SetBinding(TextBox.TextProperty, new Binding("IPAddress") { Source = myTest, Mode = BindingMode.TwoWay, Converter = new ConvertTest() });

namespace System  DateTime类  只获取时分秒

       //
        // 摘要:
        //     获取此实例的当天的时间。
        //
        // 返回结果:
        //     System.TimeSpan,它表示当天自午夜以来已经过时间的部分。

       public TimeSpan TimeOfDay { get; }


事件相关

事件的前身是消息(Message)。Windows是消息驱动的操作系统,运行其上的程序也遵照这

个机制运行。消息本质就是一条数据,这条数据里记载着消息的类别,必须的时候还记载一些消息参数。

(

比如,当你在窗体上按下鼠标左键的时候,一条名为WM_LBUTTONDOWN消息就被生成并加入Windows待处理的消息对下列中——

大部分情况下Windows的消息队列里不会有太多消息在排队、消息i会立刻被处理,如果你的计算机很慢并且处在很慢的状态(如播放电影),

那么这条消息就要等一会才被处理到,这就是常见的操作系统反应延迟。当Windows处理到这条消息时会把消息发送给你单击的窗体,

窗体会用自己的一套算法来响应这个消息,这个算法就是Windows API开发中常说的消息处理函数。消息处理函数中有一个多级嵌套的

switch结构,进入这个switch结构的消息会被分门别类并最终流入某个末端分支,在这个分支里会有一个由程序员编写的函数被调用。

例如对于WM——LBUTTONDOWN这个消息,程序员可能会编写一个函数来查看它所携带的参数(即鼠标单击处的X,Y坐标),然后决定

是把它们显示出来还是在这个点上绘制图形等。也有些消息是不用携带参数的,比如按钮被单击的消息,当它流入某个分支后程序员就

已经知道是按钮被单击了,程序员并不关心鼠标点在按钮的哪个位置上了。

)消息驱动

事件模型隐藏了消息机制的很多细节,让程序的开发变得简单 。烦琐的消息驱动机制在事件模型中被简化为3个关键点:

■事件的拥有者:即发消息的发送者。事件的宿主可以在某些条件下激发它拥有的事件,即事件被触发,事件被触发则消息被发送。

■事件的响应者:即消息的接受者、处理者。事件接受者使用其事件处理器(Event Handler)对事件做出响应。

■事件的订阅关系:事件的拥有者可以随时激发事件,但事件发生后会不会得到响应要看有没有事件的响应者,或者

说要看这个事件是否被关注。

如果对象A关注对象B的某个事件是否发生,则称A订阅了B的事件。

更进一步讲,事件实际上是一个使用event关键字修饰的委托(Delegate)类型成员变量 ,事件处理器则是一个函数,

说A订阅了B的事件,本质上就是让B.Event与A.EventHandler关联起来。所谓事件激发就是B.Event被调用,这时,

与其关联的A.EventHandler就会被调用。


原创粉丝点击