Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / DependencyPropertyHelper.cs / 1 / DependencyPropertyHelper.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Helper class for miscellaneous framework-level features related // to DependencyProperties. // // See spec at [....]/sites/Avalon/Specs/GetValueSource.mht // //--------------------------------------------------------------------------- using System; namespace System.Windows { ////// Source of a DependencyProperty value. /// public enum BaseValueSource { ///The source is not known by the Framework. Unknown = BaseValueSourceInternal.Unknown, ///Default value, as defined by property metadata. Default = BaseValueSourceInternal.Default, ///Inherited from an ancestor. Inherited = BaseValueSourceInternal.Inherited, ///Default Style for the current theme. DefaultStyle = BaseValueSourceInternal.ThemeStyle, ///Trigger in the default Style for the current theme. DefaultStyleTrigger = BaseValueSourceInternal.ThemeStyleTrigger, ///Style setter. Style = BaseValueSourceInternal.Style, ///Trigger in the Template. TemplateTrigger = BaseValueSourceInternal.TemplateTrigger, ///Trigger in the Style. StyleTrigger = BaseValueSourceInternal.StyleTrigger, ///Implicit Style reference. ImplicitStyleReference = BaseValueSourceInternal.ImplicitReference, ///Template that created the element. ParentTemplate = BaseValueSourceInternal.ParentTemplate, ///Trigger in the Template that created the element. ParentTemplateTrigger = BaseValueSourceInternal.ParentTemplateTrigger, ///Local value. Local = BaseValueSourceInternal.Local, } ////// This struct contains the information returned from /// DependencyPropertyHelper.GetValueSource. /// public struct ValueSource { internal ValueSource(BaseValueSourceInternal source, bool isExpression, bool isAnimated, bool isCoerced) { // this cast is justified because the public BaseValueSource enum // values agree with the internal BaseValueSourceInternal enum values. _baseValueSource = (BaseValueSource)source; _isExpression = isExpression; _isAnimated = isAnimated; _isCoerced = isCoerced; } ////// The base value source. /// public BaseValueSource BaseValueSource { get { return _baseValueSource; } } ////// True if the value came from an Expression. /// public bool IsExpression { get { return _isExpression; } } ////// True if the value came from an animation. /// public bool IsAnimated { get { return _isAnimated; } } ////// True if the value was coerced. /// public bool IsCoerced { get { return _isCoerced; } } #region Object overrides - required by FxCop ////// Return the hash code for this ValueSource. /// public override int GetHashCode() { return _baseValueSource.GetHashCode(); } ////// True if this ValueSource equals the argument. /// public override bool Equals(object o) { if (o is ValueSource) { ValueSource that = (ValueSource)o; return this._baseValueSource == that._baseValueSource && this._isExpression == that._isExpression && this._isAnimated == that._isAnimated && this._isCoerced == that._isCoerced; } else { return false; } } ////// True if the two arguments are equal. /// public static bool operator==(ValueSource vs1, ValueSource vs2) { return vs1.Equals(vs2); } ////// True if the two arguments are unequal. /// public static bool operator!=(ValueSource vs1, ValueSource vs2) { return !vs1.Equals(vs2); } #endregion Object overrides - required by FxCop BaseValueSource _baseValueSource; bool _isExpression; bool _isAnimated; bool _isCoerced; } ////// Helper class for miscellaneous framework-level features related /// to DependencyProperties. /// public static class DependencyPropertyHelper { ////// Return the source of the value for the given property. /// public static ValueSource GetValueSource(DependencyObject dependencyObject, DependencyProperty dependencyProperty) { if (dependencyObject == null) throw new ArgumentNullException("dependencyObject"); if (dependencyProperty == null) throw new ArgumentNullException("dependencyProperty"); dependencyObject.VerifyAccess(); bool hasModifiers, isExpression, isAnimated, isCoerced; BaseValueSourceInternal source = dependencyObject.GetValueSource(dependencyProperty, null, out hasModifiers, out isExpression, out isAnimated, out isCoerced); return new ValueSource(source, isExpression, isAnimated, isCoerced); } } } // 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
- CompilerLocalReference.cs
- NodeInfo.cs
- DropTarget.cs
- JsonGlobals.cs
- TextTreeTextNode.cs
- CodeEntryPointMethod.cs
- TreeNodeCollection.cs
- ListBoxAutomationPeer.cs
- __FastResourceComparer.cs
- Assert.cs
- ShaderEffect.cs
- KeyedCollection.cs
- XmlNamedNodeMap.cs
- TypeInformation.cs
- BuiltInExpr.cs
- HMACMD5.cs
- PropertyGridDesigner.cs
- sqlinternaltransaction.cs
- GeneralTransform3DGroup.cs
- Pipe.cs
- StateInitializationDesigner.cs
- HandlerWithFactory.cs
- UnmanagedBitmapWrapper.cs
- FlowDocumentReaderAutomationPeer.cs
- RootProfilePropertySettingsCollection.cs
- StringComparer.cs
- OleDbSchemaGuid.cs
- XMLSchema.cs
- SafeEventLogWriteHandle.cs
- ApplicationServiceHelper.cs
- IIS7UserPrincipal.cs
- WpfKnownMember.cs
- MessageSecurityTokenVersion.cs
- NumericUpDown.cs
- CheckedListBox.cs
- CachingHintValidation.cs
- LabelExpression.cs
- ObjectComplexPropertyMapping.cs
- ConfigurationValidatorBase.cs
- FixedLineResult.cs
- PenContext.cs
- NotificationContext.cs
- HttpCacheVary.cs
- CellNormalizer.cs
- EntityUtil.cs
- SslStreamSecurityUpgradeProvider.cs
- PauseStoryboard.cs
- LineInfo.cs
- QilReplaceVisitor.cs
- KnownTypesHelper.cs
- ProcessThread.cs
- ColorAnimationUsingKeyFrames.cs
- ProviderBase.cs
- QuadraticBezierSegment.cs
- _TLSstream.cs
- Span.cs
- sqlstateclientmanager.cs
- RepeaterItemCollection.cs
- filewebrequest.cs
- WebPartVerb.cs
- StatusBarAutomationPeer.cs
- WhereQueryOperator.cs
- TransferRequestHandler.cs
- StrokeNodeData.cs
- FontConverter.cs
- RuntimeIdentifierPropertyAttribute.cs
- Fonts.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- ControlValuePropertyAttribute.cs
- CodeCatchClause.cs
- NoneExcludedImageIndexConverter.cs
- AccessorTable.cs
- ComponentSerializationService.cs
- MembershipPasswordException.cs
- TileBrush.cs
- ImpersonateTokenRef.cs
- ListMarkerSourceInfo.cs
- PointCollectionValueSerializer.cs
- PrintingPermissionAttribute.cs
- XmlPreloadedResolver.cs
- ReferencedCollectionType.cs
- FullTrustAssembliesSection.cs
- SqlBinder.cs
- MediaElementAutomationPeer.cs
- ServiceOperationListItemList.cs
- VirtualPath.cs
- ResourceReader.cs
- ValidationHelper.cs
- SystemShuttingDownException.cs
- DecoderFallback.cs
- ComplexLine.cs
- QueryOutputWriter.cs
- UidManager.cs
- AccessDataSourceView.cs
- ToolStripPanel.cs
- Int32CollectionConverter.cs
- Span.cs
- ViewBox.cs
- GeneralTransform3D.cs
- XmlSchemaIdentityConstraint.cs