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
- DataRowCollection.cs
- WinInet.cs
- NetworkAddressChange.cs
- FacetEnabledSchemaElement.cs
- FlowDocumentPageViewerAutomationPeer.cs
- RemoteCryptoSignHashRequest.cs
- ErrorStyle.cs
- ExpressionBinding.cs
- CryptoProvider.cs
- UnionCqlBlock.cs
- VerificationAttribute.cs
- HMACSHA384.cs
- ServicesUtilities.cs
- PolygonHotSpot.cs
- UmAlQuraCalendar.cs
- ManipulationVelocities.cs
- ExpandableObjectConverter.cs
- FileSystemEventArgs.cs
- ColumnMapVisitor.cs
- HtmlElementEventArgs.cs
- DBSqlParserColumnCollection.cs
- XpsPartBase.cs
- FileSystemEventArgs.cs
- X509Chain.cs
- PointCollection.cs
- WebBaseEventKeyComparer.cs
- GroupBox.cs
- Label.cs
- ServiceHttpModule.cs
- XmlAttributeProperties.cs
- IisHelper.cs
- safesecurityhelperavalon.cs
- ModulesEntry.cs
- ErrorFormatterPage.cs
- LayoutManager.cs
- CompilerScopeManager.cs
- WebPartEditVerb.cs
- ContentDisposition.cs
- SerializationSectionGroup.cs
- OleDbCommandBuilder.cs
- WindowsFormsSynchronizationContext.cs
- Model3D.cs
- TableRow.cs
- propertytag.cs
- _CacheStreams.cs
- NetworkStream.cs
- WebEventCodes.cs
- BindingContext.cs
- HtmlInputHidden.cs
- Internal.cs
- DefaultAssemblyResolver.cs
- WebZone.cs
- ObsoleteAttribute.cs
- AsyncSerializedWorker.cs
- Rotation3DAnimation.cs
- OleDbEnumerator.cs
- IProvider.cs
- APCustomTypeDescriptor.cs
- AttachInfo.cs
- CachingHintValidation.cs
- WindowsTab.cs
- CodeTypeParameter.cs
- autovalidator.cs
- counter.cs
- DrawingImage.cs
- Root.cs
- ClientUriBehavior.cs
- TextRunCacheImp.cs
- StylusButton.cs
- FileController.cs
- SafeMILHandle.cs
- TemplateField.cs
- EditorZoneDesigner.cs
- MimeReturn.cs
- PreApplicationStartMethodAttribute.cs
- DataViewSettingCollection.cs
- CheckBoxRenderer.cs
- AppendHelper.cs
- CellConstantDomain.cs
- PermissionAttributes.cs
- ProgressPage.cs
- WorkflowElementDialog.cs
- CatalogZone.cs
- PanelStyle.cs
- EntityProxyTypeInfo.cs
- WebPartDisplayModeEventArgs.cs
- CodeGen.cs
- wmiprovider.cs
- TagNameToTypeMapper.cs
- ApplicationServiceManager.cs
- CrossContextChannel.cs
- MatrixIndependentAnimationStorage.cs
- _PooledStream.cs
- XslCompiledTransform.cs
- DataGridViewCellValidatingEventArgs.cs
- SspiNegotiationTokenAuthenticator.cs
- HttpContextBase.cs
- PluggableProtocol.cs
- DmlSqlGenerator.cs
- ClientConfigurationSystem.cs