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
- AdapterUtil.cs
- DataColumn.cs
- MachineKeySection.cs
- Annotation.cs
- SchemaImporter.cs
- Point3DCollectionConverter.cs
- DispatcherSynchronizationContext.cs
- Identity.cs
- UInt16.cs
- SchemaNames.cs
- Brush.cs
- MultiSelector.cs
- UriTemplateQueryValue.cs
- InstanceDataCollectionCollection.cs
- WebHttpSecurityModeHelper.cs
- XXXInfos.cs
- PropertyFilterAttribute.cs
- PackageController.cs
- RootProjectionNode.cs
- RoleManagerEventArgs.cs
- EmptyReadOnlyDictionaryInternal.cs
- PageAsyncTask.cs
- ProfileParameter.cs
- CompatibleComparer.cs
- ToolboxDataAttribute.cs
- Number.cs
- CodeMemberProperty.cs
- VirtualDirectoryMapping.cs
- UIElementParaClient.cs
- ContainerUtilities.cs
- TableCellAutomationPeer.cs
- OracleBinary.cs
- DropTarget.cs
- ResourceReferenceKeyNotFoundException.cs
- HyperLinkStyle.cs
- FieldAccessException.cs
- ObjectHandle.cs
- MasterPageBuildProvider.cs
- DrawingContextWalker.cs
- UnsafeNativeMethods.cs
- ClonableStack.cs
- FileRecordSequence.cs
- TableSectionStyle.cs
- FocusChangedEventArgs.cs
- IPHostEntry.cs
- ControlBuilderAttribute.cs
- XmlDataSourceDesigner.cs
- Wizard.cs
- SwitchLevelAttribute.cs
- Timer.cs
- Trustee.cs
- FunctionDetailsReader.cs
- ScriptManagerProxy.cs
- FieldBuilder.cs
- StrongName.cs
- SerialErrors.cs
- TargetInvocationException.cs
- XamlPointCollectionSerializer.cs
- OptionalColumn.cs
- BitmapCache.cs
- SqlConnectionManager.cs
- OleDbCommandBuilder.cs
- SqlRetyper.cs
- Timeline.cs
- Pipe.cs
- DBSqlParserColumnCollection.cs
- TypeReference.cs
- TraceUtils.cs
- HtmlShim.cs
- SystemEvents.cs
- DecoratedNameAttribute.cs
- TextModifier.cs
- DataGridColumn.cs
- Stroke.cs
- RemoteTokenFactory.cs
- HotSpot.cs
- WebCodeGenerator.cs
- BreakRecordTable.cs
- CaseInsensitiveOrdinalStringComparer.cs
- UriTemplateLiteralPathSegment.cs
- DoubleKeyFrameCollection.cs
- MethodExpr.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- SByteConverter.cs
- AtomicFile.cs
- PathSegment.cs
- String.cs
- Transform.cs
- ModifyActivitiesPropertyDescriptor.cs
- SecurityAccessDeniedException.cs
- HttpPostClientProtocol.cs
- TextCompositionEventArgs.cs
- ETagAttribute.cs
- FrameworkElementFactory.cs
- RuleSettings.cs
- ParameterReplacerVisitor.cs
- TextStore.cs
- Internal.cs
- GeometryHitTestParameters.cs
- ToolStripDropDown.cs