Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / MS / Internal / Data / BindingWorker.cs / 1305600 / 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; } internal virtual bool IsPathCurrent() { return true; } //----------------------------------------------------- // // 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; } internal virtual bool IsPathCurrent() { return true; } //----------------------------------------------------- // // 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
- RelationshipManager.cs
- InstanceDataCollectionCollection.cs
- AnimatedTypeHelpers.cs
- HotSpot.cs
- shaper.cs
- StrongNameHelpers.cs
- HttpVersion.cs
- AssemblyFilter.cs
- XamlBuildTaskServices.cs
- TextParagraphView.cs
- MappingItemCollection.cs
- ToolStripItemCollection.cs
- StreamFormatter.cs
- DataControlFieldHeaderCell.cs
- BitmapEffect.cs
- PersistenceTypeAttribute.cs
- TemplateColumn.cs
- ViewBox.cs
- XmlExtensionFunction.cs
- DrawTreeNodeEventArgs.cs
- PropertyCondition.cs
- Drawing.cs
- GlyphRunDrawing.cs
- InkCanvas.cs
- CodeMemberField.cs
- MinimizableAttributeTypeConverter.cs
- LongSumAggregationOperator.cs
- SerializerProvider.cs
- StylusTouchDevice.cs
- TargetPerspective.cs
- CompModSwitches.cs
- SrgsRule.cs
- RoleService.cs
- PeerName.cs
- CustomAttributeBuilder.cs
- ObjectRef.cs
- RoutedEventConverter.cs
- RectangleF.cs
- AssemblyFilter.cs
- XmlNamedNodeMap.cs
- EndpointIdentity.cs
- ToolStripItemRenderEventArgs.cs
- CompensatableSequenceActivity.cs
- StateManager.cs
- HttpModuleActionCollection.cs
- Source.cs
- InvokeProviderWrapper.cs
- NullableFloatSumAggregationOperator.cs
- SqlAggregateChecker.cs
- SecureStringHasher.cs
- DelegatingConfigHost.cs
- MissingMemberException.cs
- SqlWriter.cs
- TextHidden.cs
- DisposableCollectionWrapper.cs
- XmlTextWriter.cs
- ZipFileInfoCollection.cs
- CompleteWizardStep.cs
- FileNotFoundException.cs
- LoginView.cs
- ContentFileHelper.cs
- Compensate.cs
- HostUtils.cs
- DisplayNameAttribute.cs
- UnsafeNativeMethods.cs
- ViewValidator.cs
- RequestStatusBarUpdateEventArgs.cs
- CacheRequest.cs
- PropertyEmitter.cs
- DocumentGridPage.cs
- MenuCommand.cs
- SrgsSemanticInterpretationTag.cs
- UIAgentAsyncBeginRequest.cs
- PropVariant.cs
- PaperSource.cs
- CacheManager.cs
- DataGridViewMethods.cs
- ProcessHostServerConfig.cs
- EdmSchemaAttribute.cs
- Codec.cs
- OptimizedTemplateContentHelper.cs
- WebPageTraceListener.cs
- XmlBoundElement.cs
- ClipboardProcessor.cs
- WeakReferenceList.cs
- XmlWrappingReader.cs
- ProtocolElementCollection.cs
- ExtensionQuery.cs
- ConnectionModeReader.cs
- DBSqlParserColumnCollection.cs
- XmlLanguageConverter.cs
- LogWriteRestartAreaAsyncResult.cs
- XamlVector3DCollectionSerializer.cs
- GeneralTransformCollection.cs
- SharedConnectionWorkflowTransactionService.cs
- Oid.cs
- SqlMethodCallConverter.cs
- WebPartAddingEventArgs.cs
- HMACMD5.cs
- XmlILModule.cs