Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ConfigUtil.cs
- Transform3D.cs
- ManagedWndProcTracker.cs
- TemplateContainer.cs
- DataGridViewColumn.cs
- DesignerOptionService.cs
- GPStream.cs
- ExpandCollapseProviderWrapper.cs
- IdnElement.cs
- CompositeActivityMarkupSerializer.cs
- SizeChangedEventArgs.cs
- FontFamilyValueSerializer.cs
- SqlExpander.cs
- DefaultTraceListener.cs
- WebPartDisplayMode.cs
- DocumentPageTextView.cs
- Filter.cs
- ReachSerializationUtils.cs
- DrawTreeNodeEventArgs.cs
- DataGridPreparingCellForEditEventArgs.cs
- ClientSession.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- DataReaderContainer.cs
- HintTextMaxWidthConverter.cs
- Expressions.cs
- InfoCardKeyedHashAlgorithm.cs
- MsdtcClusterUtils.cs
- MulticastNotSupportedException.cs
- DrawTreeNodeEventArgs.cs
- ResourceProviderFactory.cs
- Inflater.cs
- _CacheStreams.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- DocumentOrderQuery.cs
- DbResourceAllocator.cs
- DataGridItemEventArgs.cs
- Attributes.cs
- FixedStringLookup.cs
- AsyncPostBackTrigger.cs
- SpoolingTask.cs
- NamespaceDisplay.xaml.cs
- ParseChildrenAsPropertiesAttribute.cs
- CustomTypeDescriptor.cs
- MaskedTextBoxDesignerActionList.cs
- ADRoleFactoryConfiguration.cs
- TypeDescriptorContext.cs
- DescendantOverDescendantQuery.cs
- MULTI_QI.cs
- AuthenticodeSignatureInformation.cs
- MembershipValidatePasswordEventArgs.cs
- EdmSchemaError.cs
- lengthconverter.cs
- IconBitmapDecoder.cs
- GridViewAutomationPeer.cs
- ToolStripDropTargetManager.cs
- FileDialogCustomPlaces.cs
- SqlBulkCopy.cs
- RequestUriProcessor.cs
- BindingMemberInfo.cs
- RefreshPropertiesAttribute.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- XmlSchemaAttribute.cs
- Listener.cs
- AuthorizationSection.cs
- TargetConverter.cs
- PolicyManager.cs
- OverflowException.cs
- BoundsDrawingContextWalker.cs
- _UncName.cs
- ObjectListCommandCollection.cs
- TextEditorLists.cs
- QuadraticBezierSegment.cs
- XmlWriter.cs
- SqlResolver.cs
- DataGridViewRowPrePaintEventArgs.cs
- XmlDesigner.cs
- Set.cs
- IPipelineRuntime.cs
- ApplicationGesture.cs
- XmlNotation.cs
- DSGeneratorProblem.cs
- GPStream.cs
- Version.cs
- FieldToken.cs
- PartialArray.cs
- InvalidOperationException.cs
- XmlSchemaAnnotation.cs
- FlowDocumentPage.cs
- ToolTipService.cs
- SharedConnectionWorkflowTransactionService.cs
- MimeTypeAttribute.cs
- FileVersion.cs
- PolyQuadraticBezierSegment.cs
- AddInServer.cs
- followingsibling.cs
- Vector3DAnimationUsingKeyFrames.cs
- SqlConnectionPoolProviderInfo.cs
- HashCodeCombiner.cs
- CustomAttributeSerializer.cs
- EpmSyndicationContentDeSerializer.cs