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
- ProviderUtil.cs
- Utils.cs
- _SafeNetHandles.cs
- SpeechRecognizer.cs
- RootCodeDomSerializer.cs
- CellTreeNode.cs
- EditingCoordinator.cs
- BufferModeSettings.cs
- DataGridViewRowStateChangedEventArgs.cs
- FontStyleConverter.cs
- HwndProxyElementProvider.cs
- MouseGestureValueSerializer.cs
- X509SecurityTokenProvider.cs
- Compiler.cs
- ImageListDesigner.cs
- PropertyManager.cs
- TransactionFilter.cs
- VirtualPathUtility.cs
- DictionarySectionHandler.cs
- odbcmetadatafactory.cs
- ObjectCloneHelper.cs
- AspNetPartialTrustHelpers.cs
- CodeSubDirectoriesCollection.cs
- PenLineCapValidation.cs
- RadioButtonBaseAdapter.cs
- InputReportEventArgs.cs
- EnumType.cs
- streamingZipPartStream.cs
- XmlFormatExtensionPointAttribute.cs
- _ListenerRequestStream.cs
- SyntaxCheck.cs
- WebPartConnectVerb.cs
- GridViewPageEventArgs.cs
- VersionConverter.cs
- UnsafeNativeMethods.cs
- SettingsBindableAttribute.cs
- HTMLTagNameToTypeMapper.cs
- SudsParser.cs
- SymmetricKeyWrap.cs
- XmlSignatureManifest.cs
- SchemaImporterExtensionsSection.cs
- SchemaImporterExtensionElement.cs
- SortExpressionBuilder.cs
- Application.cs
- UnmanagedHandle.cs
- WebHttpSecurityElement.cs
- ControlValuePropertyAttribute.cs
- DisplayNameAttribute.cs
- DataGrid.cs
- Baml6ConstructorInfo.cs
- EntityStoreSchemaFilterEntry.cs
- ComponentChangingEvent.cs
- DataRowExtensions.cs
- MailAddress.cs
- SessionPageStatePersister.cs
- DllNotFoundException.cs
- InstanceHandleConflictException.cs
- QilExpression.cs
- WebPartManagerDesigner.cs
- COM2ExtendedUITypeEditor.cs
- WebPartConnectionsEventArgs.cs
- AudioStateChangedEventArgs.cs
- CapabilitiesSection.cs
- XmlAnyElementAttributes.cs
- ElementHost.cs
- DataRecord.cs
- TextChange.cs
- FreezableDefaultValueFactory.cs
- HttpApplication.cs
- RequestCacheManager.cs
- EventRecordWrittenEventArgs.cs
- SequentialOutput.cs
- Logging.cs
- TransformerTypeCollection.cs
- BindingSource.cs
- OleDbRowUpdatingEvent.cs
- IdnElement.cs
- BrowserDefinition.cs
- DataGridLinkButton.cs
- InvalidDataException.cs
- XslCompiledTransform.cs
- ObjectReaderCompiler.cs
- InputQueue.cs
- Adorner.cs
- BindValidator.cs
- AuthStoreRoleProvider.cs
- HttpCacheVary.cs
- ProfileGroupSettings.cs
- IssuanceLicense.cs
- EventRoute.cs
- ToolCreatedEventArgs.cs
- SchemaAttDef.cs
- SchemaTypeEmitter.cs
- RoleServiceManager.cs
- LocalizedNameDescriptionPair.cs
- Base64Encoding.cs
- StylusLogic.cs
- DataSourceXmlSerializer.cs
- ProfileInfo.cs
- TreeNode.cs