摘要:
LINQ是.NET Framework 3.5的新特性,其全称是 Language Integrated Query,即语言集成查询,是指将查询功能和语言结合起来。从而为我们提供一种统一的方式,让我们能在C#或VB.NET语言中直接查询和操作各种数据。本系列文章力图对LINQ进行一个完整和详细的介绍,希望能对广大园友有些许帮助。也期待能和大家一起讨论和学习,共同进步!第一部分:从这里开始学习LINQ本部分包含三篇博客,讨论了LINQ的作用以及C#3.0为LINQ提供的语言特性:隐式类型局部变量、自动属性、匿名类型、扩展方法、Lambda表达式、对象初始化器。LINQ之路1:LINQ介绍LINQ 阅读全文
摘要:
典型的,把模板关联到一块特定的数据上,不过通常希望动态的确定使用哪个模板---既可以基于一个属性值,也可以是一个全局状态。当真正需要大规模替换模板时,也可以使用DataTemplateSelector。 DataTemplateSelector提供了一个单一的方法----SelectTemplate,以允许通过执行任何逻辑来决定使用哪个模板。可以在被包含的元素中查找模板,并返回一些硬编码的模板,甚至动态的为每个条目创建模板。首先,创建一个继承自DataTemplateSelector的类,并完成一些在几个模板中进行旋转的逻辑。在这个例子中,将找到XmlElement的LocalName,并从. 阅读全文
摘要:
1.说明之前做过一个小项目,点击按钮,按钮进入倒计时无效状态,计时完成后,恢复原样,现在就实现该效果---带倒计时的按钮2.效果1)正常状态 2)MouseOver(只有背景色变化) 3)点击进入无效状态4)在无效状态下计时5)恢复正常状态3.XAML代码 1 2 4.应用1 5.总结通过此代码,希望给初学者一些启示,有更多想法的同学,多多批评,不吝赐教。文章来源:http://www.cnblogs.com/smlusm/p/3234463.html 阅读全文
摘要:
建一个用户可以使用Template属性设置外观的WPF控件需要以下几步1、继承自System.Windows.Controls.Control2、设置DefaultStyleKeyProperty3、实现控件功能4、定义默认Sytle5、添加ThemeInfo我借用一个时钟的控件例子,讲解以下每一个步骤第1步 继承自System.Windows.Controls.Control我们的自定义控件继承自System.Windows.Controls.Control,如果有更特别的控件,也可以继承自更复杂的控件。类声明 1: public class Clock : Control 2: {... 阅读全文
摘要:
一般我们在使用TabControl时,需要添加多个tab页,然后把不需要的tab页通过鼠标右键点击ContextMenu菜单的形式进行关闭,下面的代码是直接在tab页上面添加按钮事件,直接点击关闭按钮,就可以关闭tab页。public class CloseableTabItem : TabItem { static CloseableTabItem() { DefaultStyleKeyProperty.OverrideMetadata(typeof(CloseableTabItem), new FrameworkPropertyMetadata(typeof(CloseableTabIte 阅读全文
摘要:
1. 委托Delegate C#中的Delegate对应于C中的指针,但是又有所不同C中的指针既可以指向方法,又可以指向变量,并且可以进行类型转换,C中的指针实际上就是内存地址变量,他是可以直接操作内存的,通过内存地址直接访问变量,直接调用方法。 而C#中的Delegate是强类型的,也就是说在声明委托时就已经指定了该变量只能指向具有特定参数,以及返回值的方法。 使用delegate就可以直接建立任何名称的委托类型,当进行系统编译时,系统就会自动生成此类型。您可以使用delegate void MyDelegate()方式建立一个委托类,并使用ILDASM.exe观察其成员。由ILDASM.e 阅读全文
摘要:
在第二十三节,我们使用CollectionView实现了对于绑定数据的导航,除导航功能外,还可以通过CollectionView对数据进行类似于DataView的排序、筛选等功能。一、数据的排序:使用第二十四节的数据源,查询所有的产品信息: 1: 6: 7: 10: 11: 12: 13: 14: 15: 16: 19: 20: 21: ... 阅读全文
摘要:
这是2年前写了一篇文章http://www.cnblogs.com/Clingingboy/archive/2008/07/03/wpfcustomcontrolpart-1.html我们先来看MSDN对其的介绍Displays the content of aContentControl似乎其是为ContentControl定身量做的.为了理解这一点,首先我们要对WPF内容模型有所了解,上面这篇文章有提到过ContentControl继承自Control,多了Content属性,继承自ContentControl的均可以称之为内容模型的控件.如下这里似乎看不到ContentPresenter 阅读全文
摘要:
在我们了解Task之前,如果我们要使用多核的功能可能就会自己来开线程,然而这种线程模型在.net 4.0之后被一种称为基于“任务的编程模型”所冲击,因为task会比thread具有更小的性能开销,不过大家肯定会有疑惑,任务和线程到底有什么区别?1:任务是架构在线程之上的,也就是说任务最终还是要抛给线程去执行。2:任务跟线程不是一对一的关系,比如开10个任务并不是说会开10个线程,这一点任务有点类似线程池,但是任务相比线程池有很小 的开销和精确的控制。一:Task1. 最简单的使用 开启task有两种方式: 实例化Task1 //第一种方式开启2 var task1 =... 阅读全文
摘要:
《MEF程序设计指南》博文汇总 在MEF之前,人们已经提出了许多依赖注入框架来解决应用的扩展性问题,比如OSGI 实现以Spring 等等。在 Microsoft 的平台上,.NET Framework 自身内部包含组件模型和 System.Addin。同时存在若干种开源解决方案,包括 SharpD 阅读全文