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
- ContextInformation.cs
- DataStreams.cs
- SystemDropShadowChrome.cs
- SafeSerializationManager.cs
- SearchForVirtualItemEventArgs.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- SystemWebSectionGroup.cs
- SparseMemoryStream.cs
- ProcessDesigner.cs
- COM2Properties.cs
- BitmapMetadataEnumerator.cs
- FactoryRecord.cs
- WsatStrings.cs
- _emptywebproxy.cs
- CLRBindingWorker.cs
- XmlMtomReader.cs
- StandardCommands.cs
- MessageQueueInstaller.cs
- DbConnectionStringCommon.cs
- HtmlTable.cs
- WmlImageAdapter.cs
- ProcessStartInfo.cs
- InputReferenceExpression.cs
- ImageEditor.cs
- JsonXmlDataContract.cs
- MediaTimeline.cs
- CursorEditor.cs
- Pair.cs
- Compiler.cs
- DataTableTypeConverter.cs
- ServiceDescriptions.cs
- LinearKeyFrames.cs
- GlyphCollection.cs
- InputLangChangeEvent.cs
- DictionaryEntry.cs
- DbMetaDataFactory.cs
- DocumentApplicationState.cs
- DesignerVerb.cs
- TraceContextRecord.cs
- RoutedEventValueSerializer.cs
- RightsManagementEncryptedStream.cs
- RangeExpression.cs
- PerfCounters.cs
- TargetControlTypeAttribute.cs
- DataViewManager.cs
- StatusBarItem.cs
- HttpModuleCollection.cs
- ContractMapping.cs
- MaskedTextBox.cs
- sqlnorm.cs
- StopRoutingHandler.cs
- XmlDictionaryReader.cs
- GridView.cs
- OutputCacheProviderCollection.cs
- XmlValidatingReader.cs
- XhtmlConformanceSection.cs
- CollectionType.cs
- ImageListImageEditor.cs
- TextRenderingModeValidation.cs
- SessionEndedEventArgs.cs
- ResourcePart.cs
- ProviderSettings.cs
- StreamGeometry.cs
- EncoderExceptionFallback.cs
- MessageFormatterConverter.cs
- CodeDomDecompiler.cs
- PropertyOverridesTypeEditor.cs
- DigestComparer.cs
- ReadOnlyDataSourceView.cs
- SchemaExporter.cs
- TextRenderer.cs
- shaperfactoryquerycachekey.cs
- ExitEventArgs.cs
- HttpRequest.cs
- ButtonChrome.cs
- DesignTimeHTMLTextWriter.cs
- activationcontext.cs
- Attributes.cs
- ProtocolsConfiguration.cs
- BinHexEncoder.cs
- StorageComplexPropertyMapping.cs
- XmlQueryType.cs
- InitializerFacet.cs
- Attachment.cs
- DictationGrammar.cs
- DesignerImageAdapter.cs
- KeyValuePairs.cs
- AsmxEndpointPickerExtension.cs
- HotSpotCollection.cs
- IdlingCommunicationPool.cs
- ListViewItemEventArgs.cs
- WindowsSolidBrush.cs
- SimpleRecyclingCache.cs
- DisableDpiAwarenessAttribute.cs
- DateTimeValueSerializerContext.cs
- CryptoStream.cs
- BitmapEncoder.cs
- ConstrainedGroup.cs
- XmlHelper.cs
- KeySplineConverter.cs