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
- Win32KeyboardDevice.cs
- DataServiceConfiguration.cs
- TextTreeObjectNode.cs
- Debug.cs
- RelationshipConverter.cs
- Confirm.cs
- Choices.cs
- RadioButtonStandardAdapter.cs
- COM2ColorConverter.cs
- MemoryMappedViewAccessor.cs
- UInt16.cs
- EntityContainerEmitter.cs
- LineServices.cs
- HtmlWindow.cs
- SpeechUI.cs
- SuppressMergeCheckAttribute.cs
- ResourceReferenceKeyNotFoundException.cs
- XmlSerializerNamespaces.cs
- UriSection.cs
- mda.cs
- BitArray.cs
- Point4DConverter.cs
- ProcessThread.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- SQLResource.cs
- BitmapEffect.cs
- LayoutEditorPart.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- LayoutEditorPart.cs
- RowsCopiedEventArgs.cs
- WebDescriptionAttribute.cs
- ValidationErrorEventArgs.cs
- ImageList.cs
- MailAddressCollection.cs
- CodeTypeReferenceExpression.cs
- InstanceDataCollection.cs
- GcSettings.cs
- XPathBuilder.cs
- DBBindings.cs
- CompiledQueryCacheKey.cs
- XhtmlTextWriter.cs
- PopupRoot.cs
- addressfiltermode.cs
- ExecutionEngineException.cs
- IdentitySection.cs
- HotSpot.cs
- ParentUndoUnit.cs
- ActivityCodeGenerator.cs
- CodeMemberEvent.cs
- XmlSchemaSimpleType.cs
- ImageListStreamer.cs
- MULTI_QI.cs
- ResXResourceWriter.cs
- CompiledQuery.cs
- DispatcherHookEventArgs.cs
- XmlSerializerVersionAttribute.cs
- ProgressBar.cs
- DictionaryKeyPropertyAttribute.cs
- RequestTimeoutManager.cs
- BitmapEffectGroup.cs
- FormViewPagerRow.cs
- UseLicense.cs
- WindowHideOrCloseTracker.cs
- IndexOutOfRangeException.cs
- JsonDeserializer.cs
- SapiRecoContext.cs
- Transform3DGroup.cs
- XmlBinaryWriter.cs
- TreeView.cs
- BmpBitmapEncoder.cs
- ListViewUpdateEventArgs.cs
- IChannel.cs
- Scene3D.cs
- LockRecoveryTask.cs
- UITypeEditors.cs
- TemplateContent.cs
- ApplicationGesture.cs
- Point3DValueSerializer.cs
- ReadOnlyHierarchicalDataSource.cs
- OdbcRowUpdatingEvent.cs
- ControlPropertyNameConverter.cs
- ObjectListCommand.cs
- WebPartHelpVerb.cs
- oledbmetadatacolumnnames.cs
- HttpCapabilitiesSectionHandler.cs
- HttpCacheVary.cs
- SqlParameterizer.cs
- Rect.cs
- GetPageCompletedEventArgs.cs
- ClientRuntimeConfig.cs
- ItemContainerGenerator.cs
- _NestedSingleAsyncResult.cs
- FileFormatException.cs
- tabpagecollectioneditor.cs
- EntityCollection.cs
- IsolatedStorageFile.cs
- CommonXSendMessage.cs
- OpenTypeLayout.cs
- elementinformation.cs
- IdentityHolder.cs