Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / AttachedPropertyBrowsableForChildrenAttribute.cs / 1 / AttachedPropertyBrowsableForChildrenAttribute.cs
namespace System.Windows { using System; ////// This attribute declares that a property is visible when the /// property owner is a parent of another element. For example, /// Canvas.Left is only useful on elements parented within the /// canvas. The class supports two types of tree walks: a shallow /// walk, the default which requires that the immediate parent be the /// owner type of the property, and a deep walk, declared by setting /// IncludeDescendants to true and requires that the owner type be /// somewhere in the parenting hierarchy. /// [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)] public sealed class AttachedPropertyBrowsableForChildrenAttribute : AttachedPropertyBrowsableAttribute { //------------------------------------------------------ // // Constructors // //----------------------------------------------------- ////// Creates a new AttachedPropertyBrowsableForChildrenAttribute. /// public AttachedPropertyBrowsableForChildrenAttribute() { } //----------------------------------------------------- // // Public Properties // //----------------------------------------------------- ////// Gets or sets if the property should be browsable for just the /// immediate children (false) or all children (true). /// public bool IncludeDescendants { get { return _includeDescendants; } set { _includeDescendants = value; } } //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- ////// Overrides Object.Equals to implement correct equality semantics for this /// attribute. /// public override bool Equals(object obj) { AttachedPropertyBrowsableForChildrenAttribute other = obj as AttachedPropertyBrowsableForChildrenAttribute; if (other == null) return false; return _includeDescendants == other._includeDescendants; } ////// Overrides Object.GetHashCode to implement correct hashing semantics. /// public override int GetHashCode() { return _includeDescendants.GetHashCode(); } //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ ////// Returns true if the object provided is the immediate logical /// child (if IncludeDescendants is false) or any logical child /// (if IncludeDescendants is true). /// internal override bool IsBrowsable(DependencyObject d, DependencyProperty dp) { if (d == null) throw new ArgumentNullException("d"); if (dp == null) throw new ArgumentNullException("dp"); DependencyObject walk = d; Type ownerType = dp.OwnerType; do { walk = FrameworkElement.GetFrameworkParent(walk); if (walk != null && ownerType.IsInstanceOfType(walk)) { return true; } } while (_includeDescendants && walk != null); return false; } //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ private bool _includeDescendants; } } // 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
- SafeMarshalContext.cs
- Events.cs
- TextEndOfSegment.cs
- EdmValidator.cs
- TaskSchedulerException.cs
- TemplatePagerField.cs
- CssTextWriter.cs
- Module.cs
- ToolboxBitmapAttribute.cs
- String.cs
- WebHttpDispatchOperationSelector.cs
- ChooseAction.cs
- PrivateFontCollection.cs
- HttpRuntime.cs
- PersonalizationStateQuery.cs
- Parameter.cs
- SecurityManager.cs
- ToolZone.cs
- SoapTransportImporter.cs
- UITypeEditors.cs
- OleStrCAMarshaler.cs
- ResourceSetExpression.cs
- SoapProtocolImporter.cs
- XmlSerializerNamespaces.cs
- KeysConverter.cs
- MemoryMappedView.cs
- SafeNativeMethods.cs
- SafeCryptoHandles.cs
- SspiSecurityToken.cs
- CommandField.cs
- DataSourceProvider.cs
- PassportIdentity.cs
- UserPreferenceChangedEventArgs.cs
- DesignerVerb.cs
- mansign.cs
- BaseTemplateCodeDomTreeGenerator.cs
- GridViewDesigner.cs
- WebServiceHandlerFactory.cs
- StructuredTypeEmitter.cs
- DispatcherHooks.cs
- DecoderReplacementFallback.cs
- basemetadatamappingvisitor.cs
- BitmapEffectCollection.cs
- HttpStaticObjectsCollectionWrapper.cs
- BitmapSource.cs
- ReadOnlyKeyedCollection.cs
- DataGridItemEventArgs.cs
- PathParser.cs
- DiscreteKeyFrames.cs
- EntitySqlQueryCacheEntry.cs
- ActivityWithResultValueSerializer.cs
- SqlConnection.cs
- HostSecurityManager.cs
- XmlUtil.cs
- EncryptedPackage.cs
- WmpBitmapEncoder.cs
- CallSiteHelpers.cs
- ContextBase.cs
- EdmError.cs
- GlyphingCache.cs
- DefaultAsyncDataDispatcher.cs
- DecodeHelper.cs
- ImageSource.cs
- SmiEventSink.cs
- MenuItemBindingCollection.cs
- ResourceCategoryAttribute.cs
- ResXResourceWriter.cs
- SrgsElementList.cs
- HttpServerVarsCollection.cs
- JsonWriter.cs
- RadioButtonFlatAdapter.cs
- XmlDataSource.cs
- safemediahandle.cs
- GetPageNumberCompletedEventArgs.cs
- InheritanceRules.cs
- Buffer.cs
- TextServicesHost.cs
- FormViewDeleteEventArgs.cs
- HashHelper.cs
- BitmapEffectGeneralTransform.cs
- SendContent.cs
- DataStreamFromComStream.cs
- TouchPoint.cs
- CachedTypeface.cs
- SqlClientWrapperSmiStreamChars.cs
- ProtectedUri.cs
- ThreadPool.cs
- IdentityNotMappedException.cs
- StringValueConverter.cs
- EntityContainerEntitySetDefiningQuery.cs
- GeneralTransformGroup.cs
- SqlDataSourceCommandEventArgs.cs
- ValueOfAction.cs
- RectKeyFrameCollection.cs
- CompositeFontFamily.cs
- ComNativeDescriptor.cs
- SortDescription.cs
- ConfigurationManager.cs
- updatecommandorderer.cs
- Attachment.cs