Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- AudioBase.cs
- Random.cs
- IntegerValidator.cs
- SerializationAttributes.cs
- GenerateHelper.cs
- SQlBooleanStorage.cs
- WindowsImpersonationContext.cs
- BypassElementCollection.cs
- ObjRef.cs
- CheckBoxPopupAdapter.cs
- DataGridItem.cs
- SimpleTypeResolver.cs
- CLRBindingWorker.cs
- State.cs
- CollectionDataContractAttribute.cs
- MemoryFailPoint.cs
- SQLMoney.cs
- OdbcParameterCollection.cs
- DrawingImage.cs
- TextTreeDeleteContentUndoUnit.cs
- DataGridTemplateColumn.cs
- SqlTypeSystemProvider.cs
- UpdateProgress.cs
- PrimitiveXmlSerializers.cs
- IntellisenseTextBox.cs
- CompilationLock.cs
- RegularExpressionValidator.cs
- MobileTemplatedControlDesigner.cs
- HostProtectionPermission.cs
- WebControlAdapter.cs
- Automation.cs
- StringDictionaryEditor.cs
- HttpWriter.cs
- XmlEnumAttribute.cs
- BulletDecorator.cs
- HtmlInputImage.cs
- CharacterShapingProperties.cs
- cryptoapiTransform.cs
- Timeline.cs
- PenContext.cs
- CheckBox.cs
- DBSchemaRow.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- AvTrace.cs
- DesignerProperties.cs
- UDPClient.cs
- SimpleMailWebEventProvider.cs
- SyndicationFeedFormatter.cs
- MarginsConverter.cs
- path.cs
- SafeFileMapViewHandle.cs
- TableItemProviderWrapper.cs
- ScriptManagerProxy.cs
- RealizationDrawingContextWalker.cs
- EdmToObjectNamespaceMap.cs
- PermissionToken.cs
- StylusLogic.cs
- FileChangesMonitor.cs
- figurelengthconverter.cs
- ObjectDataSourceView.cs
- ApplicationSecurityManager.cs
- XhtmlBasicFormAdapter.cs
- ActionFrame.cs
- SerializationSectionGroup.cs
- MethodImplAttribute.cs
- BinaryParser.cs
- BuildManagerHost.cs
- CharacterBuffer.cs
- VisualProxy.cs
- ServiceDescriptionImporter.cs
- EmptyEnumerator.cs
- CachedFontFace.cs
- SecureStringHasher.cs
- XmlNodeChangedEventManager.cs
- ScriptControlManager.cs
- DataGridState.cs
- MulticastDelegate.cs
- NeutralResourcesLanguageAttribute.cs
- Matrix.cs
- DbDataSourceEnumerator.cs
- ColumnResizeAdorner.cs
- FormViewDeletedEventArgs.cs
- IOThreadScheduler.cs
- AutoResizedEvent.cs
- DataGridViewColumnHeaderCell.cs
- PathSegmentCollection.cs
- TransformCryptoHandle.cs
- _HTTPDateParse.cs
- TextElementCollection.cs
- TreeNodeCollection.cs
- CodeAttachEventStatement.cs
- Argument.cs
- SessionPageStatePersister.cs
- FlowDocumentPage.cs
- XhtmlBasicPageAdapter.cs
- XamlVector3DCollectionSerializer.cs
- AppearanceEditorPart.cs
- XPathNodeList.cs
- DispatcherFrame.cs
- ScrollBar.cs