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
- DiffuseMaterial.cs
- SqlSelectStatement.cs
- StrokeCollectionConverter.cs
- SignerInfo.cs
- DoubleConverter.cs
- AnnouncementService.cs
- FormsAuthenticationCredentials.cs
- HttpProxyCredentialType.cs
- SolidBrush.cs
- ReferencedAssemblyResolver.cs
- MasterPageParser.cs
- FormatterConverter.cs
- Attributes.cs
- JsonObjectDataContract.cs
- MULTI_QI.cs
- GroupDescription.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- InvalidOleVariantTypeException.cs
- ConnectionInterfaceCollection.cs
- RelationshipSet.cs
- SqlTypesSchemaImporter.cs
- CredentialCache.cs
- PolyBezierSegment.cs
- ConditionalExpression.cs
- ActivitySurrogate.cs
- WCFModelStrings.Designer.cs
- URLMembershipCondition.cs
- PasswordDeriveBytes.cs
- BaseTemplateParser.cs
- ItemsControl.cs
- ConfigXmlText.cs
- PermissionSet.cs
- SwitchElementsCollection.cs
- AndCondition.cs
- ApplicationSecurityInfo.cs
- BasicViewGenerator.cs
- ImageListUtils.cs
- HttpPostedFile.cs
- IsolatedStorageFileStream.cs
- DataPager.cs
- XamlPathDataSerializer.cs
- Pkcs9Attribute.cs
- DocumentPageHost.cs
- XmlCharCheckingWriter.cs
- CharUnicodeInfo.cs
- RegistrationServices.cs
- WeakReference.cs
- Compress.cs
- PeerServiceMessageContracts.cs
- serverconfig.cs
- ObjectQueryProvider.cs
- EmptyStringExpandableObjectConverter.cs
- DataListCommandEventArgs.cs
- UInt64.cs
- NameValueCollection.cs
- TextChange.cs
- PropertyGroupDescription.cs
- BoolExpr.cs
- Util.cs
- ByteFacetDescriptionElement.cs
- ProxyGenerator.cs
- HtmlInputSubmit.cs
- OleDbPropertySetGuid.cs
- TrustLevel.cs
- AssemblyResourceLoader.cs
- BitmapMetadata.cs
- NetStream.cs
- Typeface.cs
- ProcessInfo.cs
- FontNameConverter.cs
- DateTime.cs
- BatchWriter.cs
- DataGridItemEventArgs.cs
- PenLineCapValidation.cs
- Main.cs
- UserUseLicenseDictionaryLoader.cs
- XmlUrlResolver.cs
- ArgIterator.cs
- CalendarDesigner.cs
- Vector3DAnimation.cs
- ControlValuePropertyAttribute.cs
- ButtonFlatAdapter.cs
- IntellisenseTextBox.cs
- SignatureResourcePool.cs
- TreeView.cs
- CreatingCookieEventArgs.cs
- IPAddressCollection.cs
- ResolvePPIDRequest.cs
- DataGridViewCheckBoxColumn.cs
- Geometry3D.cs
- InvokeBinder.cs
- ReadOnlyDataSourceView.cs
- QueryStringParameter.cs
- OptimizerPatterns.cs
- WebPartDisplayModeCancelEventArgs.cs
- ConfigurationFileMap.cs
- DrawingDrawingContext.cs
- Content.cs
- ScrollItemProviderWrapper.cs
- MarshalByRefObject.cs