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
- SeekStoryboard.cs
- HttpBufferlessInputStream.cs
- DBCommand.cs
- TextEditorTyping.cs
- ResourcesBuildProvider.cs
- Error.cs
- NamespaceInfo.cs
- BindingContext.cs
- GlobalProxySelection.cs
- BasicHttpSecurity.cs
- ValueQuery.cs
- ByeMessage11.cs
- SQLDecimalStorage.cs
- BaseTransportHeaders.cs
- UnmanagedBitmapWrapper.cs
- Tile.cs
- ApplicationId.cs
- ClientConfigPaths.cs
- FormsAuthenticationUser.cs
- PointAnimationBase.cs
- ChangeNode.cs
- AttributeCollection.cs
- TransactionValidationBehavior.cs
- ColumnHeader.cs
- SectionRecord.cs
- login.cs
- StickyNoteAnnotations.cs
- DataGridViewCellCollection.cs
- RemotingConfiguration.cs
- _AutoWebProxyScriptWrapper.cs
- SecurityUtils.cs
- Animatable.cs
- XmlDocumentFragment.cs
- OdbcCommand.cs
- AccessText.cs
- DeferredSelectedIndexReference.cs
- SearchForVirtualItemEventArgs.cs
- ReadOnlyTernaryTree.cs
- GenericQueueSurrogate.cs
- ModelTypeConverter.cs
- ConditionalWeakTable.cs
- StateFinalizationDesigner.cs
- ContractCodeDomInfo.cs
- DetailsView.cs
- TypeDescriptorFilterService.cs
- HtmlInputRadioButton.cs
- Transform3DGroup.cs
- InvokeSchedule.cs
- MDIClient.cs
- TextServicesProperty.cs
- BookmarkScopeHandle.cs
- DictionaryBase.cs
- SetterBaseCollection.cs
- COSERVERINFO.cs
- BackEase.cs
- FragmentQueryKB.cs
- DataGridViewTopRowAccessibleObject.cs
- MessageFormatterConverter.cs
- BaseUriHelper.cs
- EventDescriptor.cs
- MailWebEventProvider.cs
- ExpressionBuilder.cs
- EnumType.cs
- input.cs
- PerformanceCounterManager.cs
- TemplateControl.cs
- EncodingTable.cs
- TextElementCollectionHelper.cs
- StringCollection.cs
- TreeNodeBinding.cs
- KeySpline.cs
- ResourceExpressionBuilder.cs
- XPathCompiler.cs
- HttpWebRequestElement.cs
- TableMethodGenerator.cs
- HttpWrapper.cs
- RotateTransform.cs
- DataGridColumn.cs
- SequentialUshortCollection.cs
- SortableBindingList.cs
- CustomValidator.cs
- sqlcontext.cs
- PolicyException.cs
- reliableinputsessionchannel.cs
- PageWrapper.cs
- GeometryConverter.cs
- DropAnimation.xaml.cs
- OutputCacheModule.cs
- DuplicateWaitObjectException.cs
- Label.cs
- AnnotationHighlightLayer.cs
- TextTreeFixupNode.cs
- ZipIOLocalFileBlock.cs
- InvalidateEvent.cs
- ExeContext.cs
- FrugalList.cs
- ConfigurationPermission.cs
- QueryMath.cs
- Point3DCollection.cs
- WebRequestModulesSection.cs