Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / 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. 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
- Graph.cs
- Screen.cs
- AdornerDecorator.cs
- ComMethodElementCollection.cs
- _SingleItemRequestCache.cs
- LockRecoveryTask.cs
- BrushValueSerializer.cs
- SystemIPv4InterfaceProperties.cs
- MetadataItemCollectionFactory.cs
- IISMapPath.cs
- WSSecurityPolicy.cs
- DNS.cs
- SubclassTypeValidatorAttribute.cs
- DoWorkEventArgs.cs
- ListBase.cs
- Events.cs
- SortDescriptionCollection.cs
- WebPartConnectVerb.cs
- OptimizedTemplateContentHelper.cs
- VScrollBar.cs
- LineGeometry.cs
- UrlPath.cs
- EntityViewGenerationAttribute.cs
- CssClassPropertyAttribute.cs
- ArgumentValueSerializer.cs
- XmlMembersMapping.cs
- Configuration.cs
- ReadOnlyMetadataCollection.cs
- SByte.cs
- oledbmetadatacollectionnames.cs
- BuildManager.cs
- PopupEventArgs.cs
- PictureBox.cs
- SslSecurityTokenParameters.cs
- ReplacementText.cs
- ProcessThreadCollection.cs
- CqlGenerator.cs
- VisualStateChangedEventArgs.cs
- AssociationEndMember.cs
- DoWorkEventArgs.cs
- FacetChecker.cs
- Visual3D.cs
- XmlSchemaAny.cs
- RoleService.cs
- AutoGeneratedField.cs
- RepeatInfo.cs
- SQLRoleProvider.cs
- AxisAngleRotation3D.cs
- DocumentViewerAutomationPeer.cs
- VoiceObjectToken.cs
- TextEditorCharacters.cs
- Debug.cs
- DispatcherEventArgs.cs
- ContentControl.cs
- RequestFactory.cs
- SecurityAttributeGenerationHelper.cs
- AppSettings.cs
- DataServiceSaveChangesEventArgs.cs
- XmlSchemaSet.cs
- BuildDependencySet.cs
- sqlstateclientmanager.cs
- SingletonInstanceContextProvider.cs
- CacheVirtualItemsEvent.cs
- PassportAuthenticationModule.cs
- sqlinternaltransaction.cs
- DataGridColumn.cs
- HighlightComponent.cs
- EventSetter.cs
- StrongNameUtility.cs
- Misc.cs
- ConfigurationLocation.cs
- UTF32Encoding.cs
- DataSourceCache.cs
- MaskedTextBoxDesigner.cs
- TitleStyle.cs
- AssemblySettingAttributes.cs
- GraphicsPath.cs
- SessionStateUtil.cs
- UserMapPath.cs
- _CacheStreams.cs
- VectorValueSerializer.cs
- NTAccount.cs
- DuplexChannelBinder.cs
- WindowsAuthenticationEventArgs.cs
- OdbcDataAdapter.cs
- SafeEventLogWriteHandle.cs
- LiteralDesigner.cs
- ResourcesChangeInfo.cs
- WsdlImporter.cs
- ProtocolsConfigurationEntry.cs
- OleDbConnectionFactory.cs
- TagNameToTypeMapper.cs
- LocalBuilder.cs
- ThreadPool.cs
- Inline.cs
- HierarchicalDataSourceConverter.cs
- SimpleWebHandlerParser.cs
- ImageCodecInfoPrivate.cs
- MulticastDelegate.cs
- ReflectionTypeLoadException.cs