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
- PageTheme.cs
- CompilationLock.cs
- XmlSignatureManifest.cs
- ColumnResizeAdorner.cs
- EventRouteFactory.cs
- OlePropertyStructs.cs
- DataGridViewButtonCell.cs
- Style.cs
- WorkerRequest.cs
- Accessible.cs
- IntranetCredentialPolicy.cs
- ActiveXContainer.cs
- EncryptedHeader.cs
- InvalidChannelBindingException.cs
- BamlRecordWriter.cs
- XPathConvert.cs
- _DomainName.cs
- ToolboxSnapDragDropEventArgs.cs
- SecurityKeyUsage.cs
- CurrencyWrapper.cs
- InboundActivityHelper.cs
- SqlCrossApplyToCrossJoin.cs
- TableRowCollection.cs
- ProviderSettings.cs
- TreeNodeBinding.cs
- ZipIOCentralDirectoryFileHeader.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- SafeMILHandle.cs
- Component.cs
- ExtentKey.cs
- WinEventTracker.cs
- IPAddressCollection.cs
- xsdvalidator.cs
- HealthMonitoringSectionHelper.cs
- XmlNodeList.cs
- WebPartDisplayModeCollection.cs
- ContractAdapter.cs
- TextServicesCompartment.cs
- DictationGrammar.cs
- ApplicationServiceHelper.cs
- CompositeDesignerAccessibleObject.cs
- BindingExpression.cs
- CollectionExtensions.cs
- ButtonField.cs
- PolicyStatement.cs
- OleAutBinder.cs
- TemplateColumn.cs
- ServicesExceptionNotHandledEventArgs.cs
- EntityEntry.cs
- DataObject.cs
- Identifier.cs
- QilDataSource.cs
- Simplifier.cs
- ValidatingPropertiesEventArgs.cs
- ObjectDataSourceDisposingEventArgs.cs
- ControlBuilderAttribute.cs
- PropertyTab.cs
- PassportAuthenticationEventArgs.cs
- Base64Decoder.cs
- ImageIndexConverter.cs
- InstanceNormalEvent.cs
- XsltSettings.cs
- ApplicationFileParser.cs
- TraceRecords.cs
- WebPartZoneBase.cs
- Matrix3D.cs
- PDBReader.cs
- StringStorage.cs
- FunctionDescription.cs
- PassportIdentity.cs
- BamlTreeUpdater.cs
- RuleSettingsCollection.cs
- HttpVersion.cs
- SingleAnimationBase.cs
- RightsManagementEncryptedStream.cs
- JournalEntryListConverter.cs
- OperationBehaviorAttribute.cs
- PeerTransportListenAddressValidatorAttribute.cs
- BrushMappingModeValidation.cs
- BindingEntityInfo.cs
- Deflater.cs
- CodeExpressionCollection.cs
- ClientScriptManagerWrapper.cs
- DecimalAnimationUsingKeyFrames.cs
- SamlSubjectStatement.cs
- DocumentViewerBaseAutomationPeer.cs
- TextBoxAutomationPeer.cs
- PixelShader.cs
- BaseValidator.cs
- ThreadAbortException.cs
- RemoteWebConfigurationHostServer.cs
- CodeCatchClauseCollection.cs
- RotationValidation.cs
- DocumentStream.cs
- MarkupObject.cs
- PrimitiveType.cs
- XmlEventCache.cs
- MetaChildrenColumn.cs
- DetailsViewRow.cs
- XmlQualifiedName.cs