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
- TreeViewHitTestInfo.cs
- PackageProperties.cs
- GlobalEventManager.cs
- ISAPIApplicationHost.cs
- listitem.cs
- QuaternionAnimationBase.cs
- SqlFunctionAttribute.cs
- ModuleBuilderData.cs
- HasCopySemanticsAttribute.cs
- RoleBoolean.cs
- XmlQualifiedName.cs
- GraphicsPath.cs
- DesignerHelpers.cs
- XpsResourceDictionary.cs
- X509CertificateCollection.cs
- _DisconnectOverlappedAsyncResult.cs
- AggregateNode.cs
- ValidationError.cs
- XmlBinaryReaderSession.cs
- DocumentSequenceHighlightLayer.cs
- SqlDataSourceSelectingEventArgs.cs
- TargetParameterCountException.cs
- MissingMethodException.cs
- TypeProvider.cs
- ToolStripDropDown.cs
- WorkflowServiceHostFactory.cs
- _ShellExpression.cs
- InternalConfigEventArgs.cs
- GenericAuthenticationEventArgs.cs
- ModuleConfigurationInfo.cs
- HtmlInputHidden.cs
- AsymmetricKeyExchangeFormatter.cs
- Metafile.cs
- StrongNameIdentityPermission.cs
- BroadcastEventHelper.cs
- COM2PropertyDescriptor.cs
- JsonQueryStringConverter.cs
- TreeNodeStyle.cs
- Helpers.cs
- StructuredTypeInfo.cs
- SessionEndedEventArgs.cs
- SafeRightsManagementPubHandle.cs
- WsatServiceCertificate.cs
- ITextView.cs
- SelectionService.cs
- AbandonedMutexException.cs
- LinearGradientBrush.cs
- ToolStripOverflowButton.cs
- MarkupProperty.cs
- SafeReversePInvokeHandle.cs
- ModuleBuilderData.cs
- glyphs.cs
- PersonalizationStateInfo.cs
- ConnectionConsumerAttribute.cs
- WebServiceAttribute.cs
- SqlDataSourceEnumerator.cs
- QilNode.cs
- XmlSchemaSimpleContent.cs
- TypeContext.cs
- LineMetrics.cs
- IERequestCache.cs
- ListenerChannelContext.cs
- GeometryHitTestParameters.cs
- DesignerVerb.cs
- DragStartedEventArgs.cs
- StyleCollection.cs
- SecurityDocument.cs
- RenderContext.cs
- WebPartMenuStyle.cs
- TimeSpanConverter.cs
- SamlSecurityToken.cs
- OracleConnectionStringBuilder.cs
- ModuleConfigurationInfo.cs
- Point3DCollection.cs
- Tokenizer.cs
- SchemaNotation.cs
- InputLangChangeEvent.cs
- ByteAnimation.cs
- SqlClientMetaDataCollectionNames.cs
- SecurityManager.cs
- HtmlEncodedRawTextWriter.cs
- RemotingClientProxy.cs
- _ProxyRegBlob.cs
- ListBox.cs
- TablePattern.cs
- GeneralTransform3DTo2D.cs
- BoundPropertyEntry.cs
- RegexWriter.cs
- Stack.cs
- WindowsSolidBrush.cs
- PropertyChangingEventArgs.cs
- ListViewItemMouseHoverEvent.cs
- SizeConverter.cs
- UInt64Storage.cs
- ApplicationManager.cs
- Object.cs
- DeploymentSection.cs
- Translator.cs
- TempFiles.cs
- ComAdminWrapper.cs