摘要:
.NET 提供了三种Timer: 基于服务的Timer System.Timers.Timer 基于线程的Timer System.Threading.Timer 基于窗体的Timer System.Windows.Forms.Timer 1、System.Threading.Timer,希望在另一个线程上定时执行后台任务时,这个定时器是最好的定时器。 ... 阅读全文
摘要:
在使用Items类型的控件,如ListBox,ListView进行数据显示时,常常通过与数据源集合进行绑定。为了进行使变化同步,数据源要注意两点。假设要显示的是People类的集合。 1、People类的成员必须读写属性。即将字段定义为private,然后定义读写属性。而不是将字段定义为public。 2、为了实时变化,需要继承INotifyPropertyChang... 阅读全文
摘要:
WPF 控件的默认 UI 通常由其他控件和形状构造而来。有时控件的默认外观可能与应用程序的整体外观不一致。在这种情况下,您可以使用 ControlTemplate更改控件的 UI 的外观,而无需更改控件的内容和行为。 控件模板使您可以指定控件的外观,数据模板则允许您指定控件内容的外观。数据模板通常用于改进绑定数据的显示方式。例如我们可以通过将时间的字符串形式表示为一个图... 阅读全文
摘要:
参考文章: http://developer.51cto.com/art/200805/74151.htm http://developer.51cto.com/art/200805/74150.htm .NET上下文 每个新的应用程序域启动时都有一个单一的上下文,我们称为默认上下文。默认上下文根本不提供任何组件服务。它存在的主要原因是因为有助于保持一致的编程模式。在新应... 阅读全文
摘要:
开发人员和设计人员使用样式可以对其产品的特定外观进行标准化。WPF 提供了一个强大的样式模型,其基础是 Style元素。 虽然Resource对于在XAML中定义对象的属性十分有用。但是Resource段的主要目的还是用来定义Styles。Styles是应用在元素上的属性值的基本集合。它可以具有批处理功能,能够弥补单一的Resource属性无法在XAML中应用到多个元素的不足... 阅读全文
摘要:
数据绑定是将控件、元素与数据相结合的一种技术。控件一般都有双向的服务:显示数据给用户和允许用户改变数据。对于Checkbox,在过去编程时,需要通过编写代码将一个定义的bool变量初始化给checkbox控件。将用户对checkbox的改变返回给该变量。而现在的环境中,我们只需要将checkbox和一个变量绑定即可。绑定会自动完成交互服务。 在简化编程时,我们经常用... 阅读全文
摘要:
如果我们需要对一些控件使用不同的字体大小时,我们可以通过硬编码的方式实现。但更好的方式是通过资源(Resource)。这里所说的资源并不是我们用用VS开发时的资源,那种资源一般是assembly 资源。 WPF中的资源指的是本地定义的资源,因为它们是定义在XAML(或者C#)中,并且与一个元素或者应用程序绑定。特定的资源只会对被资源定义的控件和其派生子控件有用。我们可以认为它... 阅读全文
摘要:
WPF中的XAML(可扩展应用程序标记语言)是辅助的界面编程工具语言。它是基于XML的。每个XAML元素都是一个.NET CLR类。XAML主要用来进行对象的创建和初始化。 XAML经常来代替类的构造函数,用来布局和绑定事件。而事件的处理程序则一般在后台代码中实现。当然,有的也可以用数据绑定(data binding)来代替事件处理程序。这样,就可以把绑定放到XAML中了。 ... 阅读全文
摘要:
前两天在调试程序的时候,发现程序老是退不出我们的框架。由于使用了多线程,肯定是那个线程没有关掉,导致进程无法退出。由于线程太多,没什么好的办法来检查,找了半天没发现在那里。结果在程序退出时,无意中点了调试中的"暂停"按钮,结果定位到了出错的线程。原来由于该线程一直在循环调用,会一直运行,我们只要暂停一下,就自然会跑到该线程处了。 阅读全文
摘要:
许多控件都派生自ControlControl类,例如:Window、button、ScrollViewer等,他们都有一个Content属性,可以用来添加其他元素。下面要介绍的时Control的另一个分支:ItemsControl。它直接从Control继承。从ItemsControl继承的控件可以显示多个Item。这些控件包括:Menus、Toolbars、statusbars、tre... 阅读全文