Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- TextEncodedRawTextWriter.cs
- WebPartHeaderCloseVerb.cs
- ToolStripButton.cs
- KeySplineConverter.cs
- ProviderUtil.cs
- Overlapped.cs
- InsufficientMemoryException.cs
- SmtpClient.cs
- TextComposition.cs
- WebContext.cs
- PhysicalAddress.cs
- DependencyPropertyKind.cs
- SoapSchemaImporter.cs
- TextLineBreak.cs
- BackStopAuthenticationModule.cs
- ScopelessEnumAttribute.cs
- XmlSchemaValidationException.cs
- DynamicRendererThreadManager.cs
- RepeatBehavior.cs
- ResourceLoader.cs
- DynamicDiscoSearcher.cs
- safemediahandle.cs
- SimpleTextLine.cs
- SemaphoreFullException.cs
- ByteAnimation.cs
- DataGridHeaderBorder.cs
- EncryptedData.cs
- ImageButton.cs
- XmlILAnnotation.cs
- ExtensionSimplifierMarkupObject.cs
- HttpPostedFile.cs
- ResourceIDHelper.cs
- DeviceContext2.cs
- ParallelActivityDesigner.cs
- TagNameToTypeMapper.cs
- ScrollChrome.cs
- Stack.cs
- TypeTypeConverter.cs
- SerialReceived.cs
- EntityDataSourceWrapperCollection.cs
- ExternalDataExchangeClient.cs
- PropertyPath.cs
- TreeNodeStyle.cs
- COAUTHIDENTITY.cs
- _SslStream.cs
- SchemaManager.cs
- DataMemberFieldEditor.cs
- ProcessModelInfo.cs
- NumericUpDown.cs
- FontResourceCache.cs
- WebPartZoneCollection.cs
- HelpKeywordAttribute.cs
- Win32.cs
- RangeEnumerable.cs
- Config.cs
- GetPageNumberCompletedEventArgs.cs
- documentsequencetextcontainer.cs
- Condition.cs
- DataListItemCollection.cs
- OracleDataAdapter.cs
- GeneralTransform3DCollection.cs
- HashLookup.cs
- LoaderAllocator.cs
- PropertyCollection.cs
- TypeDescriptionProviderAttribute.cs
- AssociationSetEnd.cs
- Size.cs
- ExtenderProvidedPropertyAttribute.cs
- ResourceProviderFactory.cs
- SQLRoleProvider.cs
- HtmlInputHidden.cs
- SectionVisual.cs
- TextViewSelectionProcessor.cs
- controlskin.cs
- SemanticBasicElement.cs
- VirtualizingStackPanel.cs
- PersonalizableTypeEntry.cs
- ConvertersCollection.cs
- AnimationException.cs
- SolidColorBrush.cs
- DnsPermission.cs
- UnwrappedTypesXmlSerializerManager.cs
- TCEAdapterGenerator.cs
- SqlFacetAttribute.cs
- TemplateControlParser.cs
- Scripts.cs
- ConfigXmlComment.cs
- FunctionImportMapping.cs
- PlacementWorkspace.cs
- Graphics.cs
- ExpressionPrefixAttribute.cs
- EntityDataSourceValidationException.cs
- ClientConfigurationHost.cs
- TypeForwardedToAttribute.cs
- GenericsInstances.cs
- CheckBoxBaseAdapter.cs
- FileUpload.cs
- DataGridViewBindingCompleteEventArgs.cs
- FrameworkElementFactory.cs
- WindowsFormsHostAutomationPeer.cs