Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Base / System / Windows / AttachedPropertyBrowsableWhenAttributePresentAttribute.cs / 1 / 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
- Storyboard.cs
- SqlMetaData.cs
- RelationshipNavigation.cs
- RequiredFieldValidator.cs
- RenderTargetBitmap.cs
- Vector3DCollectionConverter.cs
- SendSecurityHeaderElement.cs
- TableCellCollection.cs
- RegistrySecurity.cs
- Point3DIndependentAnimationStorage.cs
- BehaviorDragDropEventArgs.cs
- BitmapDownload.cs
- Label.cs
- InvariantComparer.cs
- StateWorkerRequest.cs
- CacheRequest.cs
- OperationValidationEventArgs.cs
- WebServiceHostFactory.cs
- FormatterConverter.cs
- XmlSchemaGroupRef.cs
- BrushValueSerializer.cs
- RepeaterCommandEventArgs.cs
- MetadataCache.cs
- EditModeSwitchButton.cs
- ApplicationManager.cs
- COSERVERINFO.cs
- XsltLibrary.cs
- SortAction.cs
- PageStatePersister.cs
- ThreadExceptionEvent.cs
- DragCompletedEventArgs.cs
- HttpCapabilitiesBase.cs
- XPathBinder.cs
- DefaultExpressionVisitor.cs
- ViewPort3D.cs
- Missing.cs
- MetadataItemEmitter.cs
- Size.cs
- IconEditor.cs
- NumberFormatInfo.cs
- LineUtil.cs
- LayoutEditorPart.cs
- XmlMessageFormatter.cs
- ListView.cs
- PackagePartCollection.cs
- ClipboardData.cs
- PixelFormat.cs
- LogEntrySerializationException.cs
- NameTable.cs
- HttpUnhandledOperationInvoker.cs
- PartialCachingAttribute.cs
- EventWaitHandle.cs
- EntityDataSourceViewSchema.cs
- AssemblyAssociatedContentFileAttribute.cs
- SelectionPattern.cs
- BuildProviderAppliesToAttribute.cs
- MatrixValueSerializer.cs
- ThreadExceptionDialog.cs
- InnerItemCollectionView.cs
- ListControl.cs
- BitmapImage.cs
- EncodingStreamWrapper.cs
- NotifyCollectionChangedEventArgs.cs
- TrackBar.cs
- CodeNamespaceImport.cs
- SelectionRangeConverter.cs
- StringFunctions.cs
- ContactManager.cs
- HttpListenerPrefixCollection.cs
- SafeEventHandle.cs
- TreeViewItemAutomationPeer.cs
- SpecialFolderEnumConverter.cs
- cookiecontainer.cs
- NullableBoolConverter.cs
- AggregationMinMaxHelpers.cs
- LocalizationParserHooks.cs
- SamlSubjectStatement.cs
- DataGridLinkButton.cs
- DataSvcMapFile.cs
- StringToken.cs
- WindowsScrollBar.cs
- TempFiles.cs
- ItemList.cs
- FileDataSourceCache.cs
- TypeReference.cs
- DetailsViewInsertedEventArgs.cs
- ElementNotAvailableException.cs
- DataControlImageButton.cs
- OracleConnection.cs
- ComplexTypeEmitter.cs
- DrawingAttributesDefaultValueFactory.cs
- InstanceNotReadyException.cs
- Parser.cs
- BuildManager.cs
- ResourceDisplayNameAttribute.cs
- XmlElement.cs
- MatrixCamera.cs
- XmlReaderSettings.cs
- MessageSmuggler.cs
- selecteditemcollection.cs