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
- DataViewSettingCollection.cs
- Point3D.cs
- CompModSwitches.cs
- PixelShader.cs
- RestHandlerFactory.cs
- ContentPlaceHolder.cs
- ParsedAttributeCollection.cs
- ResXDataNode.cs
- WebSysDisplayNameAttribute.cs
- Model3D.cs
- ObjectDataSourceDesigner.cs
- GenerateScriptTypeAttribute.cs
- CodeGroup.cs
- CommentEmitter.cs
- TableHeaderCell.cs
- BitmapMetadataEnumerator.cs
- AuthenticateEventArgs.cs
- BitVector32.cs
- ZipIOExtraFieldZip64Element.cs
- DriveNotFoundException.cs
- RawUIStateInputReport.cs
- WorkflowOperationContext.cs
- ListViewHitTestInfo.cs
- XmlChildNodes.cs
- StringCollection.cs
- TextTreeRootNode.cs
- Visitors.cs
- Ops.cs
- QuaternionRotation3D.cs
- XpsImageSerializationService.cs
- NamespaceList.cs
- InvokePatternIdentifiers.cs
- UrlMappingCollection.cs
- Stroke.cs
- ExpressionBinding.cs
- SemanticValue.cs
- MetafileHeader.cs
- TableLayoutPanelCellPosition.cs
- Monitor.cs
- DistinctQueryOperator.cs
- SerializationObjectManager.cs
- DataGridTextColumn.cs
- PriorityQueue.cs
- ContextMenuStripGroupCollection.cs
- TextTreeTextNode.cs
- TreeNodeStyleCollection.cs
- SqlCommandBuilder.cs
- XmlSchemaComplexType.cs
- MemberDescriptor.cs
- SiteMapNodeCollection.cs
- NativeStructs.cs
- LineBreakRecord.cs
- Triangle.cs
- InvalidOperationException.cs
- Authorization.cs
- DynamicILGenerator.cs
- BasicKeyConstraint.cs
- CredentialManagerDialog.cs
- Operators.cs
- WebPartManagerInternals.cs
- BuildProvider.cs
- XmlSignatureManifest.cs
- DecimalConverter.cs
- PixelFormats.cs
- HttpDebugHandler.cs
- ConnectionStringsExpressionBuilder.cs
- GeneralTransform.cs
- NavigationEventArgs.cs
- IList.cs
- OleDbDataAdapter.cs
- IndicShape.cs
- DefaultDialogButtons.cs
- Storyboard.cs
- SEHException.cs
- TaskFactory.cs
- SortDescription.cs
- NonParentingControl.cs
- SectionVisual.cs
- ParserContext.cs
- ElementMarkupObject.cs
- dataobject.cs
- HtmlInputImage.cs
- EnvironmentPermission.cs
- AssemblyBuilder.cs
- MenuRenderer.cs
- Container.cs
- SchemaImporterExtensionsSection.cs
- AnnouncementClient.cs
- ViewValidator.cs
- SinglePhaseEnlistment.cs
- CombinedHttpChannel.cs
- BinaryObjectWriter.cs
- CopyCodeAction.cs
- XmlProcessingInstruction.cs
- ObjectItemCachedAssemblyLoader.cs
- Int16AnimationBase.cs
- ObfuscateAssemblyAttribute.cs
- DateBoldEvent.cs
- ValidationHelpers.cs
- TextServicesCompartmentContext.cs