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
- Section.cs
- Input.cs
- OlePropertyStructs.cs
- NotCondition.cs
- Wrapper.cs
- RestHandler.cs
- Listbox.cs
- Divide.cs
- TemplatedAdorner.cs
- GreaterThanOrEqual.cs
- StreamAsIStream.cs
- ContractSearchPattern.cs
- Empty.cs
- ByteConverter.cs
- RegexInterpreter.cs
- Effect.cs
- CodeGeneratorOptions.cs
- SeekableReadStream.cs
- OpCellTreeNode.cs
- HtmlImageAdapter.cs
- ConnectionProviderAttribute.cs
- HttpRawResponse.cs
- DropDownButton.cs
- WorkflowTransactionService.cs
- PathTooLongException.cs
- FileNotFoundException.cs
- Symbol.cs
- MediaElement.cs
- EventBuilder.cs
- PolicyUnit.cs
- RepeaterItemEventArgs.cs
- MasterPageBuildProvider.cs
- BoundingRectTracker.cs
- NumberSubstitution.cs
- EntityRecordInfo.cs
- Translator.cs
- DockProviderWrapper.cs
- SettingsAttributeDictionary.cs
- RelationalExpressions.cs
- BounceEase.cs
- NameValueCollection.cs
- GraphicsPathIterator.cs
- MdiWindowListStrip.cs
- WebScriptEndpoint.cs
- WpfWebRequestHelper.cs
- CreateUserWizard.cs
- UnsafeNativeMethods.cs
- SubMenuStyle.cs
- TakeOrSkipWhileQueryOperator.cs
- DefaultEventAttribute.cs
- Literal.cs
- StackOverflowException.cs
- Rotation3DAnimationBase.cs
- ClientSettingsProvider.cs
- UnsafeNativeMethods.cs
- ReadOnlyNameValueCollection.cs
- DataGridViewSelectedRowCollection.cs
- MobileListItem.cs
- OptimizedTemplateContent.cs
- PassportAuthentication.cs
- SystemThemeKey.cs
- CharConverter.cs
- PassportAuthenticationEventArgs.cs
- DiscardableAttribute.cs
- ZoomingMessageFilter.cs
- TraceLog.cs
- CmsUtils.cs
- InternalCache.cs
- CodeAttributeArgumentCollection.cs
- FamilyMapCollection.cs
- WebBrowser.cs
- EllipseGeometry.cs
- DataGridViewCellFormattingEventArgs.cs
- DetailsViewDeleteEventArgs.cs
- BlobPersonalizationState.cs
- LayoutUtils.cs
- ActivityTypeCodeDomSerializer.cs
- TextTreeRootNode.cs
- TypeConverterAttribute.cs
- SmtpSection.cs
- PenCursorManager.cs
- Path.cs
- Repeater.cs
- IDQuery.cs
- SafeCryptContextHandle.cs
- OracleNumber.cs
- ScaleTransform.cs
- PointAnimationUsingPath.cs
- BorderGapMaskConverter.cs
- PixelFormatConverter.cs
- ArglessEventHandlerProxy.cs
- JapaneseLunisolarCalendar.cs
- BamlResourceSerializer.cs
- Geometry.cs
- MultiPropertyDescriptorGridEntry.cs
- ThrowHelper.cs
- ObjectSpanRewriter.cs
- BitmapVisualManager.cs
- PersistChildrenAttribute.cs
- XmlILTrace.cs