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
- ReceiveMessageRecord.cs
- OdbcEnvironmentHandle.cs
- State.cs
- SequentialUshortCollection.cs
- CombinedGeometry.cs
- ClassicBorderDecorator.cs
- CodeLinePragma.cs
- CodeDOMUtility.cs
- ServerValidateEventArgs.cs
- OutKeywords.cs
- PropertyTabChangedEvent.cs
- PropertySourceInfo.cs
- InvariantComparer.cs
- ToolboxDataAttribute.cs
- COM2FontConverter.cs
- ReliabilityContractAttribute.cs
- BlurEffect.cs
- SignatureDescription.cs
- PkcsMisc.cs
- WorkflowTraceTransfer.cs
- IPipelineRuntime.cs
- SqlReferenceCollection.cs
- FontFamily.cs
- OleStrCAMarshaler.cs
- HttpCapabilitiesSectionHandler.cs
- Constraint.cs
- TimeZone.cs
- MemberAccessException.cs
- AsymmetricSignatureDeformatter.cs
- GetTokenRequest.cs
- _ConnectionGroup.cs
- TableLayoutStyleCollection.cs
- PropertyEntry.cs
- KeyTimeConverter.cs
- HotSpotCollectionEditor.cs
- ADConnectionHelper.cs
- DataGridViewSelectedCellCollection.cs
- MenuAdapter.cs
- DebugController.cs
- Point3DAnimationBase.cs
- AssemblyName.cs
- ControlDesigner.cs
- HttpListenerRequest.cs
- PermissionToken.cs
- InfocardExtendedInformationCollection.cs
- StringBuilder.cs
- HttpConfigurationSystem.cs
- BezierSegment.cs
- AttachedPropertyInfo.cs
- WindowsClaimSet.cs
- BulletedListDesigner.cs
- IntegrationExceptionEventArgs.cs
- StandardCommands.cs
- WindowsPrincipal.cs
- Nullable.cs
- Panel.cs
- ShapingEngine.cs
- RoutedPropertyChangedEventArgs.cs
- Events.cs
- Page.cs
- KeyConverter.cs
- RestClientProxyHandler.cs
- IxmlLineInfo.cs
- BuilderPropertyEntry.cs
- BitmapEffectInputData.cs
- WebPartConnectionsCloseVerb.cs
- TextServicesDisplayAttributePropertyRanges.cs
- FolderBrowserDialogDesigner.cs
- WebPartsSection.cs
- StorageEntitySetMapping.cs
- BehaviorEditorPart.cs
- UIPropertyMetadata.cs
- XmlRawWriterWrapper.cs
- BinaryKeyIdentifierClause.cs
- DefaultAsyncDataDispatcher.cs
- ExclusiveHandle.cs
- PublisherMembershipCondition.cs
- BitmapScalingModeValidation.cs
- SevenBitStream.cs
- DataRelationCollection.cs
- HwndAppCommandInputProvider.cs
- ImageDesigner.cs
- DataFormats.cs
- XPathChildIterator.cs
- X509ThumbprintKeyIdentifierClause.cs
- Vars.cs
- DbConnectionPoolOptions.cs
- GC.cs
- KoreanLunisolarCalendar.cs
- StringConcat.cs
- ListBox.cs
- PanelDesigner.cs
- AbsoluteQuery.cs
- ContextMarshalException.cs
- BamlReader.cs
- DataGridViewCellEventArgs.cs
- VisualStyleInformation.cs
- ColumnMapProcessor.cs
- Certificate.cs
- xsdvalidator.cs