摘要:
提及COM的线程模式,实际上指的是两个方面,一个是客户程序的线程模式,一个是组件所支持的线程模式。客户程序的线程模式只有两种,单线程公寓(STA)和多线程公寓(MTA)。组件所支持的线程模式有四种:Single(单线程)、Apartment(STA)、Free(MTA)、Both(STA+MTA)。 1、公寓只是个逻辑上的概念。一个STA只能包含一个线程,一个MTA可以包含多个线... 阅读全文
摘要:
msdn: http://msdn.microsoft.com/zh-cn/library/ms750441.aspx 部分继承结构图: System.Object System.Windows.Threading.DispatcherObject System.Windows.DependencyObject ... 阅读全文
摘要:
Application类是构建WPF应用程序过程中最常见和最重要的对象之一,其核心功能是封装整个WPF应用程序。换句话说,每个WPF应用程序都是一个Application对象,其支持各种核心应用程序服务。 对操作系统而言,Application对象表示应用程序,并且允许系统与应用程序通信。Application 对象支持属性、方法和事件,这些属性、方法和事件使您可以将一个可扩展... 阅读全文
摘要:
跨线程调用控件 WPF应用程序都至少有两个线程,一个用于UI绘制,其隐藏于后台,另一个用于管理UI。WPF中UI元素只能由创建该元素的线程来访问。Dispatcher类来负责线程的组织和维护。通用的解决方法是使用提供的Dispatcher.Invoke方法来调用一个Delegate,从而安全地跨线程调用。(在winform中,是Control.Invoke)。 如下: ... 阅读全文
摘要:
TreeView表示的是层次化结构(hierarchical)数据。TreeView的每一项称为TreeViewItem。TreeViewItem既可以被定义成一个字符串,也可以是一个嵌套的Item对象集合。TreeView的类层次结构如下: Control ItemsControl HeaderedItemsControl ... 阅读全文
摘要:
Control WPF中的控件都是从Control派生而来。类层次如下: Object DispatcherObject (abstract) DependencyObject Visual (abstract) ... 阅读全文
摘要:
颜色 在WPF中,颜色是由System.Windows.Media下的Color结构体来封装的。Color有三种颜色R,G,B组成。 除了这三个属性,Color还增加了一个alpha管道属性A。它用来表示透明度(Opacity)。值为0时,表示透明(taransparent)。值为255时,表示不透明(opaque)。默认的颜色透明度为opaque。WPF提供了下面的函数来创建... 阅读全文
摘要:
对于线程来说,完全执行自己的数据,而不必访问任何种类的共享数据,这样的线程非常罕见。例如系统中的所有线程都必须访问系统资源,为了防止共享资源被多个线程破坏,编程人员必须在代码中使用线程同步构造。Windows和CLR提供了许多线程同步构造,许多CLR的线程同步构造实际上就是面向对象的类包装器(wrapper),他们包装了Win32中的线程同步构造,毕竟CLR线程就是Windows线程,这意味着W... 阅读全文
摘要:
执行异步操作是构建高性能、可扩展性应用程序的关键,它允许我们用非常少的线程执行许多操作。加上线程池,异步操作允许我们利用机器中的所有CPU。微软意识到这里面会存在许多潜在问题,所以设计了一种模式来方便的利用这些能力,即异步编程模式(APM)。 APM是一个单一的模式,但允许用于异步执行受限计算和受I/O限制的操作。在FCL中有许多类型都支持它。例如所有的委托类型都定义了一个Be... 阅读全文
摘要:
System.Threading 命名空间 System.Threading在.NET环境下提供了用于多线程编程的类和接口。该名字空间不仅包含了用于同步线程操作的类( Mutex, Monitor, Interlocked, AutoResetEvent, 等), 也包括了ThreadPool 和Timer 类。 异步操作 异步操作主要由两种:受计算限制的异... 阅读全文