Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / 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 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)
{
// 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.
//----------------------------------------------------------------------------
//
//
// 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)
{
// 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
- XamlFigureLengthSerializer.cs
- TaiwanLunisolarCalendar.cs
- AdvancedBindingPropertyDescriptor.cs
- ConfigErrorGlyph.cs
- ContentElement.cs
- SafeCertificateContext.cs
- DataObject.cs
- WindowShowOrOpenTracker.cs
- TcpTransportElement.cs
- BuildResult.cs
- Misc.cs
- LayoutTableCell.cs
- Durable.cs
- NativeBuffer.cs
- EntityCommandExecutionException.cs
- XmlBoundElement.cs
- ComponentCodeDomSerializer.cs
- UnsafeNativeMethods.cs
- DesignerContextDescriptor.cs
- HtmlControlPersistable.cs
- TableCell.cs
- PointCollectionConverter.cs
- EntityContainer.cs
- IWorkflowDebuggerService.cs
- ExpressionDumper.cs
- KeyProperty.cs
- SafeProcessHandle.cs
- PathFigure.cs
- InternalBase.cs
- StringAnimationUsingKeyFrames.cs
- ConvertEvent.cs
- CodeChecksumPragma.cs
- SoapAttributeOverrides.cs
- HotCommands.cs
- Cloud.cs
- DetailsViewUpdatedEventArgs.cs
- FixedSOMTableRow.cs
- ConstructorNeedsTagAttribute.cs
- ScriptReferenceEventArgs.cs
- CompilationLock.cs
- SubMenuStyleCollection.cs
- BaseTemplateParser.cs
- VirtualPathUtility.cs
- InputLanguage.cs
- TypeSystem.cs
- BasicExpandProvider.cs
- ManifestSignedXml.cs
- HebrewNumber.cs
- HMACSHA384.cs
- EmptyElement.cs
- PathStreamGeometryContext.cs
- XmlSerializationWriter.cs
- SmtpClient.cs
- WmfPlaceableFileHeader.cs
- ParameterElementCollection.cs
- TransformerTypeCollection.cs
- QueryExpression.cs
- SubstitutionList.cs
- GeometryCollection.cs
- FontFaceLayoutInfo.cs
- VisualStyleElement.cs
- CurrentChangingEventManager.cs
- ListViewUpdatedEventArgs.cs
- StatusBar.cs
- TimerElapsedEvenArgs.cs
- DataServiceQueryOfT.cs
- BitmapDownload.cs
- PropertyGridCommands.cs
- RtfNavigator.cs
- Trace.cs
- ViewUtilities.cs
- VirtualPathData.cs
- Soap12ServerProtocol.cs
- MarkupObject.cs
- SQLCharsStorage.cs
- WindowsSecurityToken.cs
- FrameworkRichTextComposition.cs
- ListBoxItem.cs
- TabletCollection.cs
- _ListenerAsyncResult.cs
- TextChange.cs
- MetadataProperty.cs
- IResourceProvider.cs
- PasswordRecoveryDesigner.cs
- ImageField.cs
- SmtpAuthenticationManager.cs
- WorkflowDesignerMessageFilter.cs
- XmlWrappingReader.cs
- LogicalMethodInfo.cs
- LinqDataSourceEditData.cs
- safemediahandle.cs
- Accessible.cs
- FunctionMappingTranslator.cs
- StatusBarItem.cs
- Script.cs
- NativeMethods.cs
- HttpListenerContext.cs
- TryExpression.cs
- DataTablePropertyDescriptor.cs
- CalendarDateRangeChangingEventArgs.cs