Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / MS / Internal / Data / BindingWorker.cs / 2 / 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
- FixedTextPointer.cs
- GridViewDeletedEventArgs.cs
- ContainsSearchOperator.cs
- WinFormsSpinner.cs
- CellLabel.cs
- BufferedConnection.cs
- ColumnCollection.cs
- DataListItemCollection.cs
- MessageQueueAccessControlEntry.cs
- CodeEntryPointMethod.cs
- DNS.cs
- SqlProvider.cs
- WebPageTraceListener.cs
- SystemResourceKey.cs
- EntitySetBase.cs
- ItemsPanelTemplate.cs
- ActivityBindForm.Designer.cs
- SiteMapPath.cs
- _LazyAsyncResult.cs
- XmlSchemaParticle.cs
- NativeMethods.cs
- DispatchWrapper.cs
- ControlAdapter.cs
- EncodingTable.cs
- UnsafeNativeMethods.cs
- ExtendedProtectionPolicyTypeConverter.cs
- ReflectPropertyDescriptor.cs
- DiscoveryExceptionDictionary.cs
- Int32Rect.cs
- LongValidatorAttribute.cs
- ReflectionPermission.cs
- AdjustableArrowCap.cs
- HtmlSelect.cs
- ProfileSection.cs
- ProcessingInstructionAction.cs
- HttpSocketManager.cs
- RequestContext.cs
- Queue.cs
- Html32TextWriter.cs
- CodeBlockBuilder.cs
- BuiltInPermissionSets.cs
- SqlDependencyListener.cs
- IndicFontClient.cs
- CodeTypeDelegate.cs
- hwndwrapper.cs
- BuilderPropertyEntry.cs
- TextRangeSerialization.cs
- QilVisitor.cs
- ObjectResult.cs
- ContentOperations.cs
- QueryExpr.cs
- InvokeProviderWrapper.cs
- AccessibleObject.cs
- webproxy.cs
- SQLMoney.cs
- WindowInteractionStateTracker.cs
- ToolStripItemRenderEventArgs.cs
- ExpressionUtilities.cs
- UriTemplateLiteralPathSegment.cs
- AppSettings.cs
- SuppressMessageAttribute.cs
- ToolboxItemLoader.cs
- ConfigurationSection.cs
- _FtpControlStream.cs
- ProviderCollection.cs
- DBSqlParser.cs
- ProviderBase.cs
- FileStream.cs
- TileBrush.cs
- XPathEmptyIterator.cs
- HashStream.cs
- MILUtilities.cs
- MessageBox.cs
- BulletDecorator.cs
- BitHelper.cs
- PropVariant.cs
- CompilerWrapper.cs
- SerializationObjectManager.cs
- UnsafeNativeMethodsCLR.cs
- XmlObjectSerializerWriteContextComplex.cs
- VisualStates.cs
- WebServiceBindingAttribute.cs
- tabpagecollectioneditor.cs
- ISCIIEncoding.cs
- OverrideMode.cs
- MultiByteCodec.cs
- StylusButtonCollection.cs
- ToolStripDropDownClosedEventArgs.cs
- NativeRightsManagementAPIsStructures.cs
- SqlProviderManifest.cs
- NullableDoubleSumAggregationOperator.cs
- DataGridViewIntLinkedList.cs
- Timer.cs
- SafeBitVector32.cs
- NamespaceCollection.cs
- MsmqIntegrationMessagePool.cs
- ConfigurationLockCollection.cs
- InvalidCastException.cs
- DetailsViewModeEventArgs.cs
- FieldAccessException.cs