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
- UnhandledExceptionEventArgs.cs
- ExpressionBindingCollection.cs
- RectangleGeometry.cs
- KeysConverter.cs
- _AcceptOverlappedAsyncResult.cs
- XmlSchemaAppInfo.cs
- OperandQuery.cs
- BindingExpression.cs
- WebBaseEventKeyComparer.cs
- Rotation3DAnimationUsingKeyFrames.cs
- NativeMethods.cs
- TextCharacters.cs
- CrossContextChannel.cs
- Mappings.cs
- ContextMenuAutomationPeer.cs
- ManagementEventWatcher.cs
- OrderByLifter.cs
- ActionMismatchAddressingException.cs
- PnrpPeerResolver.cs
- CompositeCollection.cs
- Message.cs
- GradientBrush.cs
- RuntimeCompatibilityAttribute.cs
- CreateDataSourceDialog.cs
- DeclaredTypeValidatorAttribute.cs
- WpfSharedBamlSchemaContext.cs
- CryptoApi.cs
- BeginStoryboard.cs
- UdpDiscoveryEndpointElement.cs
- SmtpCommands.cs
- CustomDictionarySources.cs
- XPathItem.cs
- SiteMapNodeItemEventArgs.cs
- DetailsViewCommandEventArgs.cs
- InvalidOleVariantTypeException.cs
- HtmlGenericControl.cs
- mactripleDES.cs
- SimpleType.cs
- ExtendedPropertyInfo.cs
- SchemaNames.cs
- tabpagecollectioneditor.cs
- ReferenceAssemblyAttribute.cs
- XmlSchemaAttributeGroupRef.cs
- WebServiceErrorEvent.cs
- PerformanceCounterManager.cs
- XPathEmptyIterator.cs
- CellLabel.cs
- Repeater.cs
- ClientSettingsProvider.cs
- ConstantSlot.cs
- BitmapEffectGeneralTransform.cs
- GroupBoxRenderer.cs
- DirectoryInfo.cs
- EncoderNLS.cs
- SpeakCompletedEventArgs.cs
- TextEmbeddedObject.cs
- IDQuery.cs
- CollectionsUtil.cs
- SmtpTransport.cs
- PublisherIdentityPermission.cs
- CheckBoxStandardAdapter.cs
- Shape.cs
- DataGridCommandEventArgs.cs
- MessageLoggingFilterTraceRecord.cs
- TableLayoutPanel.cs
- ModelFunctionTypeElement.cs
- ShaderEffect.cs
- LoaderAllocator.cs
- Shape.cs
- SqlCacheDependency.cs
- Bits.cs
- FormsAuthenticationUserCollection.cs
- SqlEnums.cs
- NoPersistHandle.cs
- CodeMethodInvokeExpression.cs
- Atom10ItemFormatter.cs
- input.cs
- RadioButtonList.cs
- MenuAutomationPeer.cs
- BinaryFormatter.cs
- ResourceAssociationSetEnd.cs
- ServicePointManagerElement.cs
- RootProjectionNode.cs
- Util.cs
- IndentedTextWriter.cs
- LicFileLicenseProvider.cs
- DataGridPreparingCellForEditEventArgs.cs
- FieldToken.cs
- PropertyChangedEventArgs.cs
- HostProtectionPermission.cs
- WSIdentityFaultException.cs
- SoapBinding.cs
- InvalidOperationException.cs
- LayoutTable.cs
- LinearKeyFrames.cs
- FactoryGenerator.cs
- TimelineClockCollection.cs
- DataTableTypeConverter.cs
- WebPartAddingEventArgs.cs
- CreateWorkflowOwnerCommand.cs