Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / System / Windows / AttachedPropertyBrowsableWhenAttributePresentAttribute.cs / 1305600 / AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
namespace System.Windows { using System; using System.ComponentModel; ////// This attribute declares that an attached property can only be attached /// to an object that defines the given attribute on its class. /// [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)] public sealed class AttachedPropertyBrowsableWhenAttributePresentAttribute : AttachedPropertyBrowsableAttribute { //------------------------------------------------------ // // Constructors // //----------------------------------------------------- ////// Creates a new AttachedPropertyBrowsableWhenAttributePresentAttribute. Provide /// the type of attribute that, when present on a dependency object, /// should make the property browsable. /// public AttachedPropertyBrowsableWhenAttributePresentAttribute(Type attributeType) { if (attributeType == null) throw new ArgumentNullException("attributeType"); _attributeType = attributeType; } //----------------------------------------------------- // // Public Properties // //----------------------------------------------------- ////// Returns the attribute type passed into the constructor. /// public Type AttributeType { get { return _attributeType; } } //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- ////// Overrides Object.Equals to implement correct equality semantics for this /// attribute. /// public override bool Equals(object obj) { AttachedPropertyBrowsableWhenAttributePresentAttribute other = obj as AttachedPropertyBrowsableWhenAttributePresentAttribute; if (other == null) return false; return _attributeType == other._attributeType; } ////// Overrides Object.GetHashCode to implement correct hashing semantics. /// public override int GetHashCode() { return _attributeType.GetHashCode(); } //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ ////// Returns true if the dependency object class defines an attribute /// of the same type contained in this attribute. The attribute must /// differ from the "default" state of the attribute. /// internal override bool IsBrowsable(DependencyObject d, DependencyProperty dp) { if (d == null) throw new ArgumentNullException("d"); if (dp == null) throw new ArgumentNullException("dp"); Attribute a = TypeDescriptor.GetAttributes(d)[_attributeType]; return (a != null && !a.IsDefaultAttribute()); } //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ private Type _attributeType; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Windows { using System; using System.ComponentModel; ////// This attribute declares that an attached property can only be attached /// to an object that defines the given attribute on its class. /// [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)] public sealed class AttachedPropertyBrowsableWhenAttributePresentAttribute : AttachedPropertyBrowsableAttribute { //------------------------------------------------------ // // Constructors // //----------------------------------------------------- ////// Creates a new AttachedPropertyBrowsableWhenAttributePresentAttribute. Provide /// the type of attribute that, when present on a dependency object, /// should make the property browsable. /// public AttachedPropertyBrowsableWhenAttributePresentAttribute(Type attributeType) { if (attributeType == null) throw new ArgumentNullException("attributeType"); _attributeType = attributeType; } //----------------------------------------------------- // // Public Properties // //----------------------------------------------------- ////// Returns the attribute type passed into the constructor. /// public Type AttributeType { get { return _attributeType; } } //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- ////// Overrides Object.Equals to implement correct equality semantics for this /// attribute. /// public override bool Equals(object obj) { AttachedPropertyBrowsableWhenAttributePresentAttribute other = obj as AttachedPropertyBrowsableWhenAttributePresentAttribute; if (other == null) return false; return _attributeType == other._attributeType; } ////// Overrides Object.GetHashCode to implement correct hashing semantics. /// public override int GetHashCode() { return _attributeType.GetHashCode(); } //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ ////// Returns true if the dependency object class defines an attribute /// of the same type contained in this attribute. The attribute must /// differ from the "default" state of the attribute. /// internal override bool IsBrowsable(DependencyObject d, DependencyProperty dp) { if (d == null) throw new ArgumentNullException("d"); if (dp == null) throw new ArgumentNullException("dp"); Attribute a = TypeDescriptor.GetAttributes(d)[_attributeType]; return (a != null && !a.IsDefaultAttribute()); } //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ private Type _attributeType; } } // 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
- SqlDeflator.cs
- XmlLangPropertyAttribute.cs
- ValidationContext.cs
- MouseOverProperty.cs
- Propagator.Evaluator.cs
- DomainConstraint.cs
- AutomationEventArgs.cs
- MetadataCache.cs
- ActivationServices.cs
- SmtpLoginAuthenticationModule.cs
- ObjectTag.cs
- AppDomain.cs
- ArrayHelper.cs
- externdll.cs
- BitStream.cs
- ScrollItemPattern.cs
- DetailsViewDeletedEventArgs.cs
- StaticSiteMapProvider.cs
- MarginsConverter.cs
- CompensatableTransactionScopeActivityDesigner.cs
- DataGridViewCellStyleChangedEventArgs.cs
- MergeFailedEvent.cs
- SettingsAttributes.cs
- UpdatePanelTrigger.cs
- ChangeTracker.cs
- HttpGetProtocolImporter.cs
- GACIdentityPermission.cs
- VisualTreeHelper.cs
- ThicknessConverter.cs
- Span.cs
- DispatcherExceptionFilterEventArgs.cs
- EventLogEntry.cs
- CheckBox.cs
- LogicalTreeHelper.cs
- PersonalizableAttribute.cs
- sqlmetadatafactory.cs
- FrameworkElement.cs
- ValidationError.cs
- GregorianCalendarHelper.cs
- BitmapEffectGroup.cs
- FieldBuilder.cs
- CapacityStreamGeometryContext.cs
- WebAdminConfigurationHelper.cs
- MsmqIntegrationProcessProtocolHandler.cs
- ToolTipAutomationPeer.cs
- XmlQualifiedName.cs
- RijndaelManaged.cs
- ClientScriptManager.cs
- PanningMessageFilter.cs
- ConstantProjectedSlot.cs
- BamlResourceDeserializer.cs
- RbTree.cs
- ToolStripItemImageRenderEventArgs.cs
- SchemaImporter.cs
- SpellerStatusTable.cs
- WeakEventTable.cs
- TranslateTransform.cs
- PartialToken.cs
- XmlArrayItemAttributes.cs
- uribuilder.cs
- designeractionlistschangedeventargs.cs
- remotingproxy.cs
- ContentFilePart.cs
- BamlCollectionHolder.cs
- CodeDOMProvider.cs
- CompareValidator.cs
- ThreadSafeList.cs
- ContentHostHelper.cs
- XmlDictionary.cs
- SettingsPropertyWrongTypeException.cs
- SHA384CryptoServiceProvider.cs
- SiteMapDataSource.cs
- BitmapFrameEncode.cs
- WindowInteropHelper.cs
- DataBindingCollection.cs
- GuidConverter.cs
- IdnMapping.cs
- XamlToRtfWriter.cs
- DataGridViewRowHeaderCell.cs
- DataGridViewDataErrorEventArgs.cs
- FrameworkEventSource.cs
- ConfigurationProviderException.cs
- WindowsGraphicsWrapper.cs
- NamespaceEmitter.cs
- LogicalTreeHelper.cs
- MetabaseServerConfig.cs
- DoubleAnimationUsingPath.cs
- FormView.cs
- WebMessageBodyStyleHelper.cs
- Sql8ConformanceChecker.cs
- ModelUIElement3D.cs
- SingleSelectRootGridEntry.cs
- ILGenerator.cs
- CheckableControlBaseAdapter.cs
- GenericIdentity.cs
- Opcode.cs
- EntityViewGenerationAttribute.cs
- InputLanguageProfileNotifySink.cs
- versioninfo.cs
- FrameworkElementFactory.cs