Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Base / MS / Internal / ComponentModel / PropertyChangeTracker.cs / 1 / PropertyChangeTracker.cs
namespace MS.Internal.ComponentModel { using System; using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Globalization; using System.Reflection; using System.Security.Permissions; using System.Windows; ////// A change tracking expression that is used to raise property change events. /// internal class PropertyChangeTracker : Expression { internal PropertyChangeTracker(DependencyObject obj, DependencyProperty property) : base(ExpressionMode.NonSharable | ExpressionMode.ForwardsInvalidations) { Debug.Assert(obj != null && property != null); _object = obj; _property = property; ChangeSources(_object, _property, new DependencySource[] { new DependencySource(obj, property) }); } internal override void OnPropertyInvalidation(DependencyObject d, DependencyPropertyChangedEventArgs args) { DependencyProperty dp = args.Property; if (_object == d && _property == dp && Changed != null) { Changed(_object, EventArgs.Empty); } } internal void Close() { _object = null; _property = null; ChangeSources(null, null, null); } internal bool CanClose { get { return Changed == null; } } internal EventHandler Changed; private DependencyObject _object; private DependencyProperty _property; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- VariantWrapper.cs
- DeviceContext.cs
- DataGridViewLinkCell.cs
- BufferModeSettings.cs
- OLEDB_Util.cs
- MILUtilities.cs
- StatusBarItemAutomationPeer.cs
- DataObjectSettingDataEventArgs.cs
- WCFServiceClientProxyGenerator.cs
- NetworkInterface.cs
- PageAction.cs
- PropertyEmitter.cs
- NewArrayExpression.cs
- CookieParameter.cs
- BoundField.cs
- WebPartCatalogCloseVerb.cs
- WebPartMenu.cs
- SynchronizingStream.cs
- PerfCounterSection.cs
- IImplicitResourceProvider.cs
- QueueException.cs
- TemplatedAdorner.cs
- CurrentChangingEventManager.cs
- CssClassPropertyAttribute.cs
- SecureStringHasher.cs
- AssemblyAttributes.cs
- ServerIdentity.cs
- HopperCache.cs
- TextEvent.cs
- DesignParameter.cs
- mansign.cs
- XmlSchemaComplexContentExtension.cs
- TimeEnumHelper.cs
- UncommonField.cs
- WindowsButton.cs
- QueryExpression.cs
- UrlPath.cs
- PropertyEntry.cs
- Walker.cs
- QuerySafeNavigator.cs
- LinkArea.cs
- Activator.cs
- ControlDesigner.cs
- MultiBindingExpression.cs
- DictionarySectionHandler.cs
- RemoteWebConfigurationHost.cs
- BmpBitmapEncoder.cs
- StringDictionary.cs
- UnmanagedBitmapWrapper.cs
- SafeNativeMethods.cs
- BamlTreeMap.cs
- MapPathBasedVirtualPathProvider.cs
- SettingsPropertyValueCollection.cs
- arclist.cs
- SqlEnums.cs
- XPathLexer.cs
- IpcChannel.cs
- XmlAttributeAttribute.cs
- PropertyGeneratedEventArgs.cs
- SafeBitVector32.cs
- ImageCollectionCodeDomSerializer.cs
- ButtonFlatAdapter.cs
- HebrewCalendar.cs
- XmlBinaryReader.cs
- COM2ComponentEditor.cs
- SimpleType.cs
- SecurityDocument.cs
- ContainerAction.cs
- GridViewRowCollection.cs
- PermissionSet.cs
- PostBackTrigger.cs
- PointAnimationUsingKeyFrames.cs
- TraceContextRecord.cs
- StyleTypedPropertyAttribute.cs
- PropertyMap.cs
- WebPartZone.cs
- CollectionsUtil.cs
- ConsumerConnectionPoint.cs
- UserPersonalizationStateInfo.cs
- IisTraceListener.cs
- QueryResult.cs
- TextCollapsingProperties.cs
- PassportAuthenticationModule.cs
- DetailsViewRow.cs
- RepeaterItemCollection.cs
- FlowPanelDesigner.cs
- PreservationFileWriter.cs
- BitmapEffectDrawingContextState.cs
- ExtendedPropertyDescriptor.cs
- UnknownBitmapEncoder.cs
- InternalConfigHost.cs
- Menu.cs
- SqlDataReader.cs
- XD.cs
- XmlSchemaAll.cs
- NonParentingControl.cs
- ILGenerator.cs
- SafeFileMappingHandle.cs
- LifetimeServices.cs
- PropertyIDSet.cs