Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ConfigurationSection.cs
- KnownTypesHelper.cs
- RegexRunner.cs
- DisableDpiAwarenessAttribute.cs
- WebPartTracker.cs
- CompilerGlobalScopeAttribute.cs
- ICollection.cs
- PathStreamGeometryContext.cs
- UnknownBitmapDecoder.cs
- DesignerContextDescriptor.cs
- HostElement.cs
- ObjectSecurity.cs
- VirtualPathUtility.cs
- RectangleConverter.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- HotSpotCollectionEditor.cs
- OptionUsage.cs
- FlowDocumentPage.cs
- SqlFunctionAttribute.cs
- TypeHelper.cs
- ListItemParagraph.cs
- NameGenerator.cs
- CodeCompiler.cs
- ApplyImportsAction.cs
- ArgumentNullException.cs
- ObjectParameterCollection.cs
- ConfigurationManagerHelperFactory.cs
- AppDomainUnloadedException.cs
- Delay.cs
- DbParameterCollection.cs
- _IPv4Address.cs
- DirectionalLight.cs
- XmlKeywords.cs
- InternalConfigRoot.cs
- EmbeddedMailObject.cs
- UrlMappingsSection.cs
- xmlformatgeneratorstatics.cs
- EntityDataSourceStatementEditorForm.cs
- DictionaryItemsCollection.cs
- WsdlBuildProvider.cs
- Geometry3D.cs
- Attribute.cs
- ContractListAdapter.cs
- BlockCollection.cs
- DiffuseMaterial.cs
- MembershipSection.cs
- ModuleBuilder.cs
- DateTimeUtil.cs
- ArithmeticException.cs
- CrossSiteScriptingValidation.cs
- ProviderConnectionPoint.cs
- IntSecurity.cs
- BrushMappingModeValidation.cs
- Mappings.cs
- BindMarkupExtensionSerializer.cs
- TextParaClient.cs
- InputReport.cs
- CmsInterop.cs
- LongSumAggregationOperator.cs
- XmlAttributes.cs
- SourceFileBuildProvider.cs
- PathParser.cs
- CodeTypeDelegate.cs
- DoWorkEventArgs.cs
- FileUtil.cs
- RepeatBehaviorConverter.cs
- RawUIStateInputReport.cs
- UnsafeMethods.cs
- ConfigurationElementCollection.cs
- ClientEventManager.cs
- LayoutExceptionEventArgs.cs
- AlignmentYValidation.cs
- SafeTimerHandle.cs
- PrintPreviewDialog.cs
- RtfToken.cs
- DocumentScope.cs
- LiteralControl.cs
- TextDecorationCollection.cs
- ToolboxComponentsCreatingEventArgs.cs
- TypeForwardedFromAttribute.cs
- DictionarySectionHandler.cs
- EventOpcode.cs
- HTMLTagNameToTypeMapper.cs
- StorageConditionPropertyMapping.cs
- TextServicesCompartmentContext.cs
- AsyncMethodInvoker.cs
- HtmlElementEventArgs.cs
- XamlPointCollectionSerializer.cs
- StylusPointProperty.cs
- Translator.cs
- XmlSchemaParticle.cs
- GeneralTransform3D.cs
- ReadWriteObjectLock.cs
- RawKeyboardInputReport.cs
- CommonProperties.cs
- ConnectionPoint.cs
- ExpressionBuilderContext.cs
- AccessControlList.cs
- CommandSet.cs
- Stack.cs