Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / DependencyPropertyHelper.cs / 1305600 / DependencyPropertyHelper.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Helper class for miscellaneous framework-level features related // to DependencyProperties. // // See spec at http://teams/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, bool isCurrent) { // 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; _isCurrent = isCurrent; } ////// 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; } } ////// True if the value was set by SetCurrentValue. /// public bool IsCurrent { get { return _isCurrent; } } #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; bool _isCurrent; } ////// 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, isCurrent; BaseValueSourceInternal source = dependencyObject.GetValueSource(dependencyProperty, null, out hasModifiers, out isExpression, out isAnimated, out isCoerced, out isCurrent); return new ValueSource(source, isExpression, isAnimated, isCoerced, isCurrent); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Helper class for miscellaneous framework-level features related // to DependencyProperties. // // See spec at http://teams/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, bool isCurrent) { // 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; _isCurrent = isCurrent; } ////// 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; } } ////// True if the value was set by SetCurrentValue. /// public bool IsCurrent { get { return _isCurrent; } } #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; bool _isCurrent; } ////// 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, isCurrent; BaseValueSourceInternal source = dependencyObject.GetValueSource(dependencyProperty, null, out hasModifiers, out isExpression, out isAnimated, out isCoerced, out isCurrent); return new ValueSource(source, isExpression, isAnimated, isCoerced, isCurrent); } } } // 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
- RewritingPass.cs
- FlowDocumentReader.cs
- PlainXmlDeserializer.cs
- MenuAdapter.cs
- AppSettingsReader.cs
- SqlUtils.cs
- NetSectionGroup.cs
- ItemsControlAutomationPeer.cs
- MetadataItemCollectionFactory.cs
- TextEmbeddedObject.cs
- IntSecurity.cs
- _ConnectOverlappedAsyncResult.cs
- OleStrCAMarshaler.cs
- BoundColumn.cs
- NameValueCollection.cs
- NamedPipeProcessProtocolHandler.cs
- IntSecurity.cs
- PageWrapper.cs
- X509Logo.cs
- TimeoutHelper.cs
- TreeView.cs
- IItemContainerGenerator.cs
- RelativeSource.cs
- EntityDataSourceChangingEventArgs.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- WebPartConnectVerb.cs
- NamedElement.cs
- metadatamappinghashervisitor.cs
- SaveFileDialog.cs
- XmlValidatingReader.cs
- StatusBarItemAutomationPeer.cs
- SimpleFileLog.cs
- StylusPointPropertyInfo.cs
- TargetInvocationException.cs
- WindowsRebar.cs
- AddingNewEventArgs.cs
- TranslateTransform.cs
- WebExceptionStatus.cs
- InputLanguage.cs
- SmiMetaDataProperty.cs
- EmbeddedMailObjectsCollection.cs
- ProviderUtil.cs
- CertificateManager.cs
- FormatControl.cs
- ReadOnlyAttribute.cs
- PresentationSource.cs
- GridViewRow.cs
- MailWriter.cs
- CodeCastExpression.cs
- sqlser.cs
- DataBoundControl.cs
- GeometryHitTestResult.cs
- PackWebResponse.cs
- TypedDataSetSchemaImporterExtension.cs
- TimeSpanConverter.cs
- EventLogRecord.cs
- HttpRuntimeSection.cs
- VBIdentifierTrimConverter.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- UnsafeNativeMethods.cs
- PathSegment.cs
- ListDictionaryInternal.cs
- SelectionPattern.cs
- COM2EnumConverter.cs
- HtmlLink.cs
- FutureFactory.cs
- KeyConverter.cs
- RuleSettings.cs
- RSAOAEPKeyExchangeFormatter.cs
- MimeParameterWriter.cs
- SqlDataSourceFilteringEventArgs.cs
- SqlUDTStorage.cs
- NewArrayExpression.cs
- SerialPinChanges.cs
- StylusButtonEventArgs.cs
- WebBrowserSiteBase.cs
- BuildProvidersCompiler.cs
- EntityDataSourceSelectedEventArgs.cs
- SchemaLookupTable.cs
- IsolatedStorageFilePermission.cs
- WindowsFormsHostAutomationPeer.cs
- SetStateEventArgs.cs
- NameObjectCollectionBase.cs
- SchemaElementLookUpTableEnumerator.cs
- RadialGradientBrush.cs
- XmlSchemaDocumentation.cs
- ObjectSet.cs
- MonitoringDescriptionAttribute.cs
- SessionPageStateSection.cs
- securitycriticaldataformultiplegetandset.cs
- HttpWebRequest.cs
- JoinQueryOperator.cs
- OleDbDataReader.cs
- TableCellCollection.cs
- TabletDevice.cs
- CollectionViewGroupRoot.cs
- ExtensionQuery.cs
- SerializerProvider.cs
- Deflater.cs
- DataMember.cs