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
- IApplicationTrustManager.cs
- TransformerInfoCollection.cs
- EventLogWatcher.cs
- DataKeyCollection.cs
- UncommonField.cs
- ButtonFieldBase.cs
- MinMaxParagraphWidth.cs
- FilterableAttribute.cs
- FullTrustAssemblyCollection.cs
- ConnectionStringSettingsCollection.cs
- BamlStream.cs
- XmlSchemaElement.cs
- XmlSerializerAssemblyAttribute.cs
- MatrixAnimationUsingPath.cs
- MessageContractExporter.cs
- PropVariant.cs
- WindowPattern.cs
- DataGridView.cs
- safelinkcollection.cs
- RuleSettings.cs
- CodeThrowExceptionStatement.cs
- MessageDispatch.cs
- PingReply.cs
- TextPointerBase.cs
- SharedStatics.cs
- DataStorage.cs
- ExceptionNotification.cs
- UnsafeNativeMethodsCLR.cs
- UIElementCollection.cs
- PrintPageEvent.cs
- Positioning.cs
- GeometryCollection.cs
- SettingsProviderCollection.cs
- FaultImportOptions.cs
- PageBuildProvider.cs
- JsonEnumDataContract.cs
- SignatureConfirmations.cs
- SecurityPermission.cs
- InstanceStoreQueryResult.cs
- PostBackTrigger.cs
- CapabilitiesRule.cs
- FamilyMap.cs
- COM2ExtendedTypeConverter.cs
- OleDbErrorCollection.cs
- FactoryId.cs
- MailWebEventProvider.cs
- UrlAuthFailedErrorFormatter.cs
- InputLanguageManager.cs
- SystemNetworkInterface.cs
- DateTimeValueSerializerContext.cs
- QualifierSet.cs
- ImmutableDispatchRuntime.cs
- ParserExtension.cs
- XmlReaderSettings.cs
- SchemaCompiler.cs
- HtmlInputButton.cs
- HttpCacheVary.cs
- CallbackValidatorAttribute.cs
- COM2ICategorizePropertiesHandler.cs
- GPPOINT.cs
- StaticResourceExtension.cs
- DependencySource.cs
- VersionedStream.cs
- AppDomainShutdownMonitor.cs
- FixedSOMImage.cs
- CapabilitiesSection.cs
- Paragraph.cs
- ValidationSummary.cs
- ListViewItem.cs
- DataContractSerializerMessageContractImporter.cs
- CssStyleCollection.cs
- PrefixQName.cs
- UnsafeNativeMethods.cs
- EmptyControlCollection.cs
- EventRoute.cs
- StylusEditingBehavior.cs
- Model3DGroup.cs
- LocationFactory.cs
- ProcessThreadCollection.cs
- ApplicationInfo.cs
- CodeRemoveEventStatement.cs
- NotifyParentPropertyAttribute.cs
- ElementAction.cs
- BitmapPalettes.cs
- SqlReferenceCollection.cs
- DbProviderManifest.cs
- Nodes.cs
- SystemColors.cs
- TransformGroup.cs
- ContentElement.cs
- ThicknessAnimation.cs
- UpdatePanelTriggerCollection.cs
- StorageTypeMapping.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- StructuredTypeEmitter.cs
- SBCSCodePageEncoding.cs
- VisualState.cs
- UIElementPropertyUndoUnit.cs
- PixelFormats.cs
- Msec.cs