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
- DefaultTextStoreTextComposition.cs
- Collection.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- HtmlInputHidden.cs
- RoutedEventHandlerInfo.cs
- ModuleBuilder.cs
- DataGridGeneralPage.cs
- HttpGetServerProtocol.cs
- UserNamePasswordValidationMode.cs
- DeferrableContentConverter.cs
- ResXResourceWriter.cs
- CustomAttribute.cs
- TextServicesProperty.cs
- CultureInfo.cs
- ComponentResourceKey.cs
- SqlReorderer.cs
- SafeRegistryHandle.cs
- RequestTimeoutManager.cs
- ConnectionProviderAttribute.cs
- FontFamily.cs
- TextTabProperties.cs
- StringCollection.cs
- UrlAuthFailedErrorFormatter.cs
- Opcode.cs
- InheritanceAttribute.cs
- ExecutionScope.cs
- XmlHierarchicalDataSourceView.cs
- FrameSecurityDescriptor.cs
- AttributeProviderAttribute.cs
- propertytag.cs
- FontStretchConverter.cs
- ConfigXmlCDataSection.cs
- Byte.cs
- QueryOperator.cs
- EnumMemberAttribute.cs
- SpotLight.cs
- Win32.cs
- CaseInsensitiveHashCodeProvider.cs
- DataSourceConverter.cs
- RemoteWebConfigurationHostServer.cs
- DataFormats.cs
- SQLCharsStorage.cs
- ListViewItemEventArgs.cs
- MenuCommand.cs
- WebBrowserDesigner.cs
- PackageProperties.cs
- WebRequestModulesSection.cs
- ConfigurationException.cs
- StoreContentChangedEventArgs.cs
- InvariantComparer.cs
- Synchronization.cs
- SqlConnectionPoolGroupProviderInfo.cs
- Stream.cs
- GridViewRowPresenterBase.cs
- Style.cs
- FontConverter.cs
- IntSecurity.cs
- Ports.cs
- Baml2006ReaderContext.cs
- CheckBoxAutomationPeer.cs
- SelectionRangeConverter.cs
- MimeObjectFactory.cs
- InProcStateClientManager.cs
- InputMethod.cs
- KeySplineConverter.cs
- StreamSecurityUpgradeInitiator.cs
- RegexWorker.cs
- DesignerDataRelationship.cs
- BamlCollectionHolder.cs
- RuleSettings.cs
- DoubleLinkListEnumerator.cs
- ColorMap.cs
- OutputCacheProfile.cs
- SystemWebCachingSectionGroup.cs
- GenericIdentity.cs
- ToolboxItemFilterAttribute.cs
- AsmxEndpointPickerExtension.cs
- XPathEmptyIterator.cs
- SqlFactory.cs
- TranslateTransform.cs
- BlockUIContainer.cs
- QuaternionAnimation.cs
- EntityContainerAssociationSet.cs
- ContentType.cs
- MetricEntry.cs
- GACMembershipCondition.cs
- DesignerListAdapter.cs
- ProfileModule.cs
- TdsParserSafeHandles.cs
- WebAdminConfigurationHelper.cs
- WebPartZoneBase.cs
- DateTimeSerializationSection.cs
- XsltArgumentList.cs
- DocumentApplicationState.cs
- SplashScreenNativeMethods.cs
- IsolatedStoragePermission.cs
- ViewManager.cs
- XmlNullResolver.cs
- StringUtil.cs
- ObjectStorage.cs