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
- ClientProxyGenerator.cs
- DataGridPagerStyle.cs
- DataGridViewCellEventArgs.cs
- ToolStripSplitStackLayout.cs
- VersionPair.cs
- NotifyCollectionChangedEventArgs.cs
- ReferencedAssembly.cs
- MappingMetadataHelper.cs
- TextMetrics.cs
- SmtpLoginAuthenticationModule.cs
- Util.cs
- WebPartsSection.cs
- AssociationSet.cs
- ToolboxItem.cs
- TabletDeviceInfo.cs
- GlobalEventManager.cs
- SystemInformation.cs
- DynamicActivityTypeDescriptor.cs
- _HelperAsyncResults.cs
- UInt32Converter.cs
- AffineTransform3D.cs
- ThreadStateException.cs
- WriterOutput.cs
- RoleServiceManager.cs
- OleDbPermission.cs
- Matrix3DValueSerializer.cs
- TypeValidationEventArgs.cs
- InvalidAsynchronousStateException.cs
- sapiproxy.cs
- KeyValuePairs.cs
- UrlEncodedParameterWriter.cs
- RelatedCurrencyManager.cs
- SkewTransform.cs
- SimpleHandlerFactory.cs
- Utils.cs
- ListViewItem.cs
- _HelperAsyncResults.cs
- GridLength.cs
- HostSecurityManager.cs
- SafeHandles.cs
- _ListenerRequestStream.cs
- TextBoxView.cs
- FormViewRow.cs
- TimeSpanStorage.cs
- Quad.cs
- GeneralTransform3D.cs
- DesignerActionMethodItem.cs
- IndexOutOfRangeException.cs
- ServiceHttpModule.cs
- Attributes.cs
- DescendantBaseQuery.cs
- MachineKeyConverter.cs
- DateTimeParse.cs
- EmptyStringExpandableObjectConverter.cs
- Sentence.cs
- ConfigurationSectionGroup.cs
- ViewPort3D.cs
- GridViewHeaderRowPresenter.cs
- Ticks.cs
- CommonRemoteMemoryBlock.cs
- GlyphInfoList.cs
- ToolStripSystemRenderer.cs
- Trace.cs
- InstanceDataCollection.cs
- DataGridViewComboBoxColumn.cs
- XmlQueryContext.cs
- HWStack.cs
- ConsoleEntryPoint.cs
- PrintDialog.cs
- BindingEntityInfo.cs
- HtmlAnchor.cs
- TimelineCollection.cs
- FormattedText.cs
- InternalPermissions.cs
- SystemIPv4InterfaceProperties.cs
- ValidationSummary.cs
- MULTI_QI.cs
- ScrollData.cs
- WsdlBuildProvider.cs
- SqlConnectionManager.cs
- UnsafeNativeMethods.cs
- TaiwanCalendar.cs
- AllMembershipCondition.cs
- CodeDirectoryCompiler.cs
- ExpandCollapsePattern.cs
- CornerRadiusConverter.cs
- Quaternion.cs
- MessageDescription.cs
- HttpDebugHandler.cs
- SequentialUshortCollection.cs
- Expressions.cs
- ReferentialConstraint.cs
- ToolStripDropDownItem.cs
- PseudoWebRequest.cs
- DashStyle.cs
- TextBoxAutoCompleteSourceConverter.cs
- GradientStopCollection.cs
- PenThreadWorker.cs
- FontSourceCollection.cs
- IriParsingElement.cs