Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / MS / Internal / Data / BindingWorker.cs / 1305600 / 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; } internal virtual bool IsPathCurrent() { return true; } //----------------------------------------------------- // // 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; } internal virtual bool IsPathCurrent() { return true; } //----------------------------------------------------- // // 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
- WebConfigurationManager.cs
- EntityDataSourceValidationException.cs
- DbConnectionOptions.cs
- NullToBooleanConverter.cs
- SessionParameter.cs
- Switch.cs
- LicFileLicenseProvider.cs
- EventBindingService.cs
- LocationReference.cs
- ViewGenResults.cs
- SchemaNamespaceManager.cs
- InvalidPropValue.cs
- DispatchWrapper.cs
- ListViewUpdateEventArgs.cs
- _FtpDataStream.cs
- TextHintingModeValidation.cs
- AndCondition.cs
- GeneratedContractType.cs
- Vector3DAnimation.cs
- GroupAggregateExpr.cs
- TableTextElementCollectionInternal.cs
- StylusPointPropertyId.cs
- NavigationWindow.cs
- PropertyConverter.cs
- COM2Properties.cs
- CodeMethodInvokeExpression.cs
- CommonObjectSecurity.cs
- CultureNotFoundException.cs
- ObjectDataSourceDesigner.cs
- NamespaceQuery.cs
- EdmProperty.cs
- IndexingContentUnit.cs
- figurelengthconverter.cs
- _SSPISessionCache.cs
- FakeModelItemImpl.cs
- TextViewBase.cs
- HttpValueCollection.cs
- XmlExtensionFunction.cs
- ModifierKeysConverter.cs
- TypeLibraryHelper.cs
- MetabaseSettings.cs
- MetaForeignKeyColumn.cs
- DbProviderFactoriesConfigurationHandler.cs
- XmlEnumAttribute.cs
- WorkerRequest.cs
- ByteAnimation.cs
- TimeIntervalCollection.cs
- PeerSecurityManager.cs
- Marshal.cs
- ChannelSinkStacks.cs
- ArgumentValue.cs
- XmlEntityReference.cs
- mansign.cs
- BindingManagerDataErrorEventArgs.cs
- Effect.cs
- NullableFloatMinMaxAggregationOperator.cs
- FunctionParameter.cs
- XmlValidatingReaderImpl.cs
- NavigationPropertyAccessor.cs
- WindowsFormsHost.cs
- RestHandlerFactory.cs
- PresentationTraceSources.cs
- MailMessageEventArgs.cs
- ScriptResourceAttribute.cs
- LocalizeDesigner.cs
- TreeSet.cs
- SqlWriter.cs
- PerformanceCounterPermission.cs
- XamlParser.cs
- MobileControlDesigner.cs
- ReadWriteObjectLock.cs
- FormClosedEvent.cs
- TextPointerBase.cs
- DesignerForm.cs
- HostedNamedPipeTransportManager.cs
- IPipelineRuntime.cs
- PropertyDescriptorCollection.cs
- CodeGroup.cs
- WebPartCatalogCloseVerb.cs
- StrokeNode.cs
- ImageUrlEditor.cs
- WebServiceResponseDesigner.cs
- FixedSOMFixedBlock.cs
- SyncMethodInvoker.cs
- AuthenticationModuleElement.cs
- NativeCppClassAttribute.cs
- CommonGetThemePartSize.cs
- TableLayoutRowStyleCollection.cs
- CodeArrayCreateExpression.cs
- DbException.cs
- ToolStripMenuItem.cs
- XmlEncoding.cs
- MetadataSerializer.cs
- SystemGatewayIPAddressInformation.cs
- PageSetupDialog.cs
- TrimSurroundingWhitespaceAttribute.cs
- AspNetSynchronizationContext.cs
- SymbolTable.cs
- Int16Animation.cs
- XamlToRtfWriter.cs