Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / MS / Internal / ComponentModel / DependencyPropertyAttribute.cs / 1305600 / DependencyPropertyAttribute.cs
namespace MS.Internal.ComponentModel
{
using System;
using System.Windows;
///
/// This attribute is synthesized by our DependencyObjectProvider
/// to relate a property descriptor back to a dependency property.
///
[AttributeUsage(AttributeTargets.Method)]
internal sealed class DependencyPropertyAttribute : Attribute
{
//------------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
#region Constructors
///
/// Creates a new DependencyPropertyAttribute for the given dependency property.
///
internal DependencyPropertyAttribute(DependencyProperty dependencyProperty, bool isAttached)
{
if (dependencyProperty == null) throw new ArgumentNullException("dependencyProperty");
_dp = dependencyProperty;
_isAttached = isAttached;
}
#endregion Constructors
//-----------------------------------------------------
//
// Public Methods
//
//-----------------------------------------------------
#region Public Methods
///
/// Override of Object.Equals that returns true when the dependency
/// property contained within each attribute is the same.
///
public override bool Equals(object value)
{
DependencyPropertyAttribute da = value as DependencyPropertyAttribute;
if (da != null &&
object.ReferenceEquals(da._dp, _dp) &&
da._isAttached == _isAttached)
{
return true;
}
return false;
}
///
/// Override of Object.GetHashCode();
///
public override int GetHashCode()
{
return _dp.GetHashCode();
}
#endregion Public Methods
//------------------------------------------------------
//
// Public Operators
//
//-----------------------------------------------------
//------------------------------------------------------
//
// Public Properties
//
//------------------------------------------------------
#region Public Properties
///
/// Overrides Attribute.TypeId to be unique with respect to
/// other dependency property attributes.c
///
public override object TypeId
{
get { return typeof(DependencyPropertyAttribute); }
}
#endregion Public Properties
//-----------------------------------------------------
//
// Public Events
//
//------------------------------------------------------
//-----------------------------------------------------
//
// Internal Properties
//
//-----------------------------------------------------
#region Internal Properties
///
/// Returns whether the dependency property is an attached
/// property.
///
internal bool IsAttached
{
get { return _isAttached; }
}
///
/// Returns the dependency property instance this attribute is
/// associated with.
///
internal DependencyProperty DependencyProperty
{
get { return _dp; }
}
#endregion Internal Properties
//-----------------------------------------------------
//
// Private Fields
//
//------------------------------------------------------
#region Private Fields
private DependencyProperty _dp;
private bool _isAttached;
#endregion Private Fields
}
}
// 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
- RoutedEventHandlerInfo.cs
- ProfileService.cs
- NameValueFileSectionHandler.cs
- EntityContainerEntitySet.cs
- NameGenerator.cs
- ExtenderProvidedPropertyAttribute.cs
- CodePageUtils.cs
- DemultiplexingClientMessageFormatter.cs
- RijndaelCryptoServiceProvider.cs
- EntityWrapperFactory.cs
- UnsafeNativeMethods.cs
- RulePatternOps.cs
- ComPlusTypeLoader.cs
- ListBoxItemWrapperAutomationPeer.cs
- XslException.cs
- OutputCacheSettingsSection.cs
- DeadCharTextComposition.cs
- ContextMenu.cs
- DataPagerFieldCommandEventArgs.cs
- Int32KeyFrameCollection.cs
- BrowserInteropHelper.cs
- ProxyHelper.cs
- TreeNodeBindingCollection.cs
- MasterPageBuildProvider.cs
- PersonalizationStateInfoCollection.cs
- MessageHeaderDescription.cs
- RewritingProcessor.cs
- FixedDocumentPaginator.cs
- RightsManagementInformation.cs
- XmlNodeReader.cs
- CreateUserWizardStep.cs
- XmlSchemaSimpleContentExtension.cs
- ReadOnlyKeyedCollection.cs
- PKCS1MaskGenerationMethod.cs
- ResourcePart.cs
- ScrollChrome.cs
- SerializationAttributes.cs
- Visual3D.cs
- WebPartDescriptionCollection.cs
- Errors.cs
- OleDbSchemaGuid.cs
- ControlIdConverter.cs
- SqlCommandBuilder.cs
- SiteMapDataSource.cs
- StylusPointPropertyUnit.cs
- ListenerSessionConnection.cs
- ToolStripButton.cs
- SafeCancelMibChangeNotify.cs
- ToolStripScrollButton.cs
- Pen.cs
- FilterElement.cs
- RootCodeDomSerializer.cs
- Matrix.cs
- SafeRightsManagementHandle.cs
- ChannelRequirements.cs
- HttpCacheVary.cs
- ListViewUpdateEventArgs.cs
- QilIterator.cs
- OleDbConnection.cs
- Pair.cs
- ImageCodecInfoPrivate.cs
- DataPagerFieldCollection.cs
- SignatureResourcePool.cs
- VisualStyleRenderer.cs
- BinaryMethodMessage.cs
- ContentFileHelper.cs
- MethodImplAttribute.cs
- FormattedTextSymbols.cs
- EntityDataSourceContextDisposingEventArgs.cs
- XmlAttribute.cs
- InputScope.cs
- ConnectionStringsSection.cs
- ScrollChangedEventArgs.cs
- PipelineDeploymentState.cs
- CodeAssignStatement.cs
- EntryPointNotFoundException.cs
- XsdCachingReader.cs
- StrokeCollectionDefaultValueFactory.cs
- SmiGettersStream.cs
- IPPacketInformation.cs
- SqlInternalConnectionSmi.cs
- TableSectionStyle.cs
- ProvideValueServiceProvider.cs
- ToolStripMenuItem.cs
- ShapeTypeface.cs
- GeometryCombineModeValidation.cs
- XmlResolver.cs
- PaperSize.cs
- PasswordRecovery.cs
- HtmlInputCheckBox.cs
- PrimitiveXmlSerializers.cs
- StateManagedCollection.cs
- ScriptReference.cs
- DataGridViewSortCompareEventArgs.cs
- BackgroundWorker.cs
- XPathArrayIterator.cs
- TypeDescriptionProviderAttribute.cs
- CellRelation.cs
- AsymmetricKeyExchangeDeformatter.cs
- EditingMode.cs