Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / MS / Internal / Data / BindingWorker.cs / 1 / BindingWorker.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
// Description: Defines BindingWorker base class.
//
//---------------------------------------------------------------------------
using System;
using System.Reflection;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Threading;
namespace MS.Internal.Data
{
// Base class for binding workers.
// Derived classes implement binding functionality depending on the
// type of source, e.g. ClrBindingWorker, XmlBindingWorker
internal abstract class BindingWorker
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
protected BindingWorker(BindingExpression b)
{
_bindingExpression = b;
}
//------------------------------------------------------
//
// Internal properties - used by parent BindingExpression
//
//-----------------------------------------------------
internal virtual Type SourcePropertyType { get { return null; } }
internal virtual bool CanUpdate { get { return false; } }
internal BindingExpression ParentBindingExpression { get { return _bindingExpression; } }
internal Type TargetPropertyType { get { return TargetProperty.PropertyType; } }
internal virtual bool IsDBNullValidForUpdate { get { return false; } }
internal virtual object SourceItem { get { return null; } }
internal virtual string SourcePropertyName { get { return null; } }
//------------------------------------------------------
//
// Internal methods - used by parent BindingExpression
//
//------------------------------------------------------
internal virtual void AttachDataItem() {}
internal virtual void DetachDataItem() {}
internal virtual void OnCurrentChanged(ICollectionView collectionView, EventArgs args) {}
internal virtual object RawValue() { return null; }
internal virtual void UpdateValue(object value) {}
internal virtual void RefreshValue() {}
internal virtual bool UsesDependencyProperty(DependencyObject d, DependencyProperty dp) { return false; }
internal virtual void OnSourceInvalidation(DependencyObject d, DependencyProperty dp, bool isASubPropertyChange) {}
internal virtual ValidationError ValidateDataError(BindingExpressionBase bindingExpressionBase) { return null; }
//-----------------------------------------------------
//
// Protected Properties
//
//------------------------------------------------------
protected Binding ParentBinding { get { return ParentBindingExpression.ParentBinding; } }
protected bool IsDynamic { get { return ParentBindingExpression.IsDynamic; } }
internal bool IsReflective { get { return ParentBindingExpression.IsReflective; } }
protected bool IgnoreSourcePropertyChange { get { return ParentBindingExpression.IgnoreSourcePropertyChange; } }
protected object DataItem { get { return ParentBindingExpression.DataItem; } }
protected DependencyObject TargetElement { get { return ParentBindingExpression.TargetElement; } }
protected DependencyProperty TargetProperty { get { return ParentBindingExpression.TargetProperty; } }
protected DataBindEngine Engine { get { return ParentBindingExpression.Engine; } }
protected Dispatcher Dispatcher { get { return ParentBindingExpression.Dispatcher; } }
protected BindingStatus Status
{
get { return ParentBindingExpression.Status; }
set { ParentBindingExpression.SetStatus(value); }
}
//-----------------------------------------------------
//
// Protected Methods
//
//-----------------------------------------------------
protected void SetTransferIsPending(bool value)
{
ParentBindingExpression.IsTransferPending = value;
}
//-----------------------------------------------------
//
// Private Fields
//
//------------------------------------------------------
BindingExpression _bindingExpression;
}
}
// 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: Defines BindingWorker base class.
//
//---------------------------------------------------------------------------
using System;
using System.Reflection;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Threading;
namespace MS.Internal.Data
{
// Base class for binding workers.
// Derived classes implement binding functionality depending on the
// type of source, e.g. ClrBindingWorker, XmlBindingWorker
internal abstract class BindingWorker
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
protected BindingWorker(BindingExpression b)
{
_bindingExpression = b;
}
//------------------------------------------------------
//
// Internal properties - used by parent BindingExpression
//
//-----------------------------------------------------
internal virtual Type SourcePropertyType { get { return null; } }
internal virtual bool CanUpdate { get { return false; } }
internal BindingExpression ParentBindingExpression { get { return _bindingExpression; } }
internal Type TargetPropertyType { get { return TargetProperty.PropertyType; } }
internal virtual bool IsDBNullValidForUpdate { get { return false; } }
internal virtual object SourceItem { get { return null; } }
internal virtual string SourcePropertyName { get { return null; } }
//------------------------------------------------------
//
// Internal methods - used by parent BindingExpression
//
//------------------------------------------------------
internal virtual void AttachDataItem() {}
internal virtual void DetachDataItem() {}
internal virtual void OnCurrentChanged(ICollectionView collectionView, EventArgs args) {}
internal virtual object RawValue() { return null; }
internal virtual void UpdateValue(object value) {}
internal virtual void RefreshValue() {}
internal virtual bool UsesDependencyProperty(DependencyObject d, DependencyProperty dp) { return false; }
internal virtual void OnSourceInvalidation(DependencyObject d, DependencyProperty dp, bool isASubPropertyChange) {}
internal virtual ValidationError ValidateDataError(BindingExpressionBase bindingExpressionBase) { return null; }
//-----------------------------------------------------
//
// Protected Properties
//
//------------------------------------------------------
protected Binding ParentBinding { get { return ParentBindingExpression.ParentBinding; } }
protected bool IsDynamic { get { return ParentBindingExpression.IsDynamic; } }
internal bool IsReflective { get { return ParentBindingExpression.IsReflective; } }
protected bool IgnoreSourcePropertyChange { get { return ParentBindingExpression.IgnoreSourcePropertyChange; } }
protected object DataItem { get { return ParentBindingExpression.DataItem; } }
protected DependencyObject TargetElement { get { return ParentBindingExpression.TargetElement; } }
protected DependencyProperty TargetProperty { get { return ParentBindingExpression.TargetProperty; } }
protected DataBindEngine Engine { get { return ParentBindingExpression.Engine; } }
protected Dispatcher Dispatcher { get { return ParentBindingExpression.Dispatcher; } }
protected BindingStatus Status
{
get { return ParentBindingExpression.Status; }
set { ParentBindingExpression.SetStatus(value); }
}
//-----------------------------------------------------
//
// Protected Methods
//
//-----------------------------------------------------
protected void SetTransferIsPending(bool value)
{
ParentBindingExpression.IsTransferPending = value;
}
//-----------------------------------------------------
//
// Private Fields
//
//------------------------------------------------------
BindingExpression _bindingExpression;
}
}
// 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
- XmlAttributeProperties.cs
- SplashScreenNativeMethods.cs
- NumberFormatInfo.cs
- Predicate.cs
- Double.cs
- CurrencyManager.cs
- XmlDataCollection.cs
- StorageEndPropertyMapping.cs
- PerformanceCounterPermission.cs
- EmptyControlCollection.cs
- SingleSelectRootGridEntry.cs
- GregorianCalendarHelper.cs
- DocumentViewerBaseAutomationPeer.cs
- GlobalProxySelection.cs
- TraceXPathNavigator.cs
- TableSectionStyle.cs
- DataGridViewRowHeaderCell.cs
- EmulateRecognizeCompletedEventArgs.cs
- Baml2006ReaderSettings.cs
- MessageSmuggler.cs
- AssemblyAssociatedContentFileAttribute.cs
- XmlDownloadManager.cs
- SrgsElementFactory.cs
- ECDiffieHellmanPublicKey.cs
- EntityViewGenerationAttribute.cs
- MasterPageCodeDomTreeGenerator.cs
- HttpValueCollection.cs
- Regex.cs
- Quaternion.cs
- BinaryNode.cs
- AnnotationObservableCollection.cs
- Object.cs
- ImageSourceValueSerializer.cs
- ItemsControlAutomationPeer.cs
- EnumBuilder.cs
- QilInvoke.cs
- WeakRefEnumerator.cs
- XMLSyntaxException.cs
- DateTimePicker.cs
- SrgsToken.cs
- WindowsGraphicsWrapper.cs
- mansign.cs
- GlobalDataBindingHandler.cs
- SqlTopReducer.cs
- BooleanExpr.cs
- XmlIncludeAttribute.cs
- FlowDocumentPageViewerAutomationPeer.cs
- WebRequestModulesSection.cs
- XpsImage.cs
- DeferredReference.cs
- XmlReflectionImporter.cs
- TextProperties.cs
- CommandPlan.cs
- DataGridItemCollection.cs
- CacheChildrenQuery.cs
- DeflateEmulationStream.cs
- DataRowView.cs
- TypeElement.cs
- TextTreeDeleteContentUndoUnit.cs
- HtmlObjectListAdapter.cs
- ExceptionHelpers.cs
- SingleConverter.cs
- CheckBoxPopupAdapter.cs
- CodeBinaryOperatorExpression.cs
- AnnotationAuthorChangedEventArgs.cs
- DtdParser.cs
- KeyGesture.cs
- printdlgexmarshaler.cs
- ComponentEditorPage.cs
- BufferBuilder.cs
- WebPartZoneCollection.cs
- LocatorPart.cs
- AnimationClockResource.cs
- XmlQualifiedName.cs
- DataObject.cs
- ExpressionHelper.cs
- PerfCounterSection.cs
- CompilerCollection.cs
- PointAnimationBase.cs
- FontStyleConverter.cs
- CodeAttributeArgument.cs
- FormViewRow.cs
- MetadataArtifactLoader.cs
- AssociationProvider.cs
- GuidelineCollection.cs
- RadioButtonList.cs
- sqlinternaltransaction.cs
- MemberPathMap.cs
- DefaultWorkflowSchedulerService.cs
- X509Certificate2Collection.cs
- WorkItem.cs
- WorkflowInstance.cs
- MarshalByRefObject.cs
- Roles.cs
- Size3DConverter.cs
- DecimalAnimation.cs
- AnimatedTypeHelpers.cs
- SmiContext.cs
- QueryStringParameter.cs
- TCPClient.cs