Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- AsymmetricKeyExchangeDeformatter.cs
- AspNetPartialTrustHelpers.cs
- AssemblyBuilder.cs
- DialogWindow.cs
- OdbcException.cs
- XmlBinaryWriter.cs
- WebBrowserSiteBase.cs
- TracedNativeMethods.cs
- SimpleHandlerBuildProvider.cs
- ExtendedPropertiesHandler.cs
- TickBar.cs
- FamilyTypeface.cs
- BinaryObjectReader.cs
- DetailsViewModeEventArgs.cs
- ArrayTypeMismatchException.cs
- FixedSOMTable.cs
- CipherData.cs
- PeerName.cs
- WebPartsPersonalization.cs
- SessionParameter.cs
- KnownColorTable.cs
- MyContact.cs
- TypeListConverter.cs
- ApplyTemplatesAction.cs
- FocusWithinProperty.cs
- CollaborationHelperFunctions.cs
- DoubleLinkList.cs
- EventRouteFactory.cs
- ExpressionVisitor.cs
- PropertyInformationCollection.cs
- SqlFormatter.cs
- safex509handles.cs
- FixedFlowMap.cs
- InternalResources.cs
- TemplateControlParser.cs
- TextStore.cs
- GridEntry.cs
- GeneralTransform3DCollection.cs
- RegistryDataKey.cs
- HtmlButton.cs
- WebPartConnection.cs
- OleDbParameterCollection.cs
- DataError.cs
- HitTestDrawingContextWalker.cs
- SubpageParagraph.cs
- DataGridViewRowsRemovedEventArgs.cs
- SiteMapDataSourceView.cs
- TemplateBuilder.cs
- HttpClientChannel.cs
- HwndHostAutomationPeer.cs
- TwoPhaseCommit.cs
- TiffBitmapEncoder.cs
- SessionStateModule.cs
- Image.cs
- DataServiceRequestOfT.cs
- CompositeActivityTypeDescriptor.cs
- Pair.cs
- ApplicationTrust.cs
- QueryStringParameter.cs
- GridViewActionList.cs
- TabletDevice.cs
- WizardPanel.cs
- ConfigurationPropertyAttribute.cs
- SecurityContext.cs
- IListConverters.cs
- SafeLibraryHandle.cs
- InputProviderSite.cs
- SHA1.cs
- DetailsView.cs
- UInt16Storage.cs
- GenericEnumConverter.cs
- PrimaryKeyTypeConverter.cs
- MonikerProxyAttribute.cs
- DataGridToolTip.cs
- XmlUtil.cs
- TraceData.cs
- StateItem.cs
- TaskForm.cs
- DispatcherProcessingDisabled.cs
- AuthenticateEventArgs.cs
- AxisAngleRotation3D.cs
- EdmRelationshipRoleAttribute.cs
- XmlDigitalSignatureProcessor.cs
- Button.cs
- XmlObjectSerializerContext.cs
- SafeHGlobalHandleCritical.cs
- AuthenticationConfig.cs
- basecomparevalidator.cs
- XsltContext.cs
- VBCodeProvider.cs
- securitycriticaldataClass.cs
- Int32CollectionValueSerializer.cs
- ManagedIStream.cs
- SmtpFailedRecipientException.cs
- ImpersonationContext.cs
- MethodAccessException.cs
- RefType.cs
- DebugManager.cs
- BoundPropertyEntry.cs
- SaveFileDialog.cs