Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- UnsafeNativeMethodsPenimc.cs
- GridViewCancelEditEventArgs.cs
- XmlCodeExporter.cs
- ComplusEndpointConfigContainer.cs
- WebServiceMethodData.cs
- XmlEncodedRawTextWriter.cs
- DrawingGroup.cs
- CalendarModeChangedEventArgs.cs
- TextContainerChangeEventArgs.cs
- PersonalizationState.cs
- SourceFileInfo.cs
- MethodBuilderInstantiation.cs
- _HeaderInfoTable.cs
- ReadonlyMessageFilter.cs
- OutgoingWebResponseContext.cs
- PointConverter.cs
- ValidationEventArgs.cs
- KeyedQueue.cs
- SmiContextFactory.cs
- WindowsSecurityToken.cs
- WebPartEventArgs.cs
- ContextStaticAttribute.cs
- HatchBrush.cs
- SafeArrayTypeMismatchException.cs
- Buffer.cs
- DataRelation.cs
- SqlTriggerAttribute.cs
- SimpleTypeResolver.cs
- Comparer.cs
- FloatAverageAggregationOperator.cs
- GetTokenRequest.cs
- Thickness.cs
- CompilerErrorCollection.cs
- BinaryWriter.cs
- CodeBinaryOperatorExpression.cs
- PriorityItem.cs
- HealthMonitoringSection.cs
- LayoutTable.cs
- MetadataPropertyvalue.cs
- LabelLiteral.cs
- SendingRequestEventArgs.cs
- DetailsViewRow.cs
- StaticSiteMapProvider.cs
- ModuleBuilderData.cs
- StyleBamlRecordReader.cs
- CounterSampleCalculator.cs
- CultureInfo.cs
- PropertyChangingEventArgs.cs
- CodeGenerator.cs
- ObjectQuery.cs
- AuthenticateEventArgs.cs
- unsafenativemethodstextservices.cs
- WebControlsSection.cs
- IPAddress.cs
- EditBehavior.cs
- SqlUtil.cs
- XmlDeclaration.cs
- EndpointDiscoveryBehavior.cs
- PresentationAppDomainManager.cs
- IntPtr.cs
- WebPartMenu.cs
- ObjectDataSourceStatusEventArgs.cs
- MarkupProperty.cs
- SkinIDTypeConverter.cs
- PageAdapter.cs
- ContractMapping.cs
- HitTestParameters.cs
- _ProxyChain.cs
- RightsManagementEncryptedStream.cs
- PropertyOverridesTypeEditor.cs
- UnknownBitmapEncoder.cs
- SqlProviderManifest.cs
- InputScopeManager.cs
- Clause.cs
- DiscreteKeyFrames.cs
- HebrewCalendar.cs
- SoapTypeAttribute.cs
- SectionRecord.cs
- CoreSwitches.cs
- IndexedSelectQueryOperator.cs
- Stroke.cs
- AutomationPatternInfo.cs
- Run.cs
- FileLevelControlBuilderAttribute.cs
- WebConfigManager.cs
- HtmlInputCheckBox.cs
- SafePointer.cs
- XmlSchemaException.cs
- DynamicContractTypeBuilder.cs
- mediaclock.cs
- CryptoHelper.cs
- PackageDigitalSignatureManager.cs
- DBParameter.cs
- IdnElement.cs
- VoiceChangeEventArgs.cs
- PrincipalPermission.cs
- EmptyQuery.cs
- NumberAction.cs
- AdjustableArrowCap.cs
- ZipIOCentralDirectoryFileHeader.cs