Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / MS / Internal / Data / BindingWorker.cs / 2 / 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
- ItemCollection.cs
- Number.cs
- IISUnsafeMethods.cs
- SqlConnectionManager.cs
- Guid.cs
- Rectangle.cs
- ProgramPublisher.cs
- PointConverter.cs
- ResponseBodyWriter.cs
- StatusBarDrawItemEvent.cs
- CaretElement.cs
- ScalarOps.cs
- ContentElementAutomationPeer.cs
- RelationshipWrapper.cs
- SslStream.cs
- CacheVirtualItemsEvent.cs
- HScrollProperties.cs
- MulticastIPAddressInformationCollection.cs
- StringResourceManager.cs
- figurelengthconverter.cs
- EventLog.cs
- AttributedMetaModel.cs
- HostSecurityManager.cs
- EntityDataReader.cs
- PathNode.cs
- Misc.cs
- _CookieModule.cs
- TrustManagerPromptUI.cs
- EnglishPluralizationService.cs
- WinEventQueueItem.cs
- StringUtil.cs
- DropTarget.cs
- XmlWellformedWriter.cs
- DoubleUtil.cs
- PathSegmentCollection.cs
- TcpTransportManager.cs
- TemplatedAdorner.cs
- Model3DCollection.cs
- DirectoryNotFoundException.cs
- DocumentPageTextView.cs
- JumpTask.cs
- CursorConverter.cs
- ParallelActivityDesigner.cs
- DataGridViewRowConverter.cs
- ForwardPositionQuery.cs
- ServiceModelEnhancedConfigurationElementCollection.cs
- MultiPageTextView.cs
- CurrentChangedEventManager.cs
- HttpRawResponse.cs
- WebPartMenuStyle.cs
- DataMemberConverter.cs
- SimpleHandlerFactory.cs
- ThemeInfoAttribute.cs
- MouseEvent.cs
- MouseButton.cs
- SqlDataSourceCustomCommandPanel.cs
- EdmScalarPropertyAttribute.cs
- ParseNumbers.cs
- ReadOnlyTernaryTree.cs
- Image.cs
- SqlConnectionPoolGroupProviderInfo.cs
- SafeNativeMethods.cs
- HttpServerVarsCollection.cs
- XmlSchemaGroup.cs
- ToolBarPanel.cs
- ConfigurationManagerHelperFactory.cs
- SqlDataSourceQueryEditorForm.cs
- PreviewKeyDownEventArgs.cs
- MarkupProperty.cs
- DbParameterHelper.cs
- LockedActivityGlyph.cs
- CodeDomConfigurationHandler.cs
- StringKeyFrameCollection.cs
- CollectionChangeEventArgs.cs
- QuadraticEase.cs
- SectionInformation.cs
- XamlSerializerUtil.cs
- InputLangChangeRequestEvent.cs
- XPathParser.cs
- Crc32.cs
- VectorCollectionValueSerializer.cs
- InternalMappingException.cs
- SecurityException.cs
- Activity.cs
- ComponentGlyph.cs
- RequestCache.cs
- XNodeSchemaApplier.cs
- WindowsGraphics2.cs
- AssemblyNameProxy.cs
- UnsafeNativeMethods.cs
- COAUTHINFO.cs
- GridItemCollection.cs
- ShaderRenderModeValidation.cs
- RawStylusInput.cs
- CngKeyBlobFormat.cs
- SQLConvert.cs
- XPathCompileException.cs
- SystemIPGlobalProperties.cs
- cookie.cs
- DocumentsTrace.cs