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
- WindowsEditBox.cs
- Typeface.cs
- _Win32.cs
- controlskin.cs
- TdsParameterSetter.cs
- MissingManifestResourceException.cs
- ParagraphResult.cs
- DatagridviewDisplayedBandsData.cs
- QueryCorrelationInitializer.cs
- EndOfStreamException.cs
- DynamicMethod.cs
- FloaterParaClient.cs
- CounterSampleCalculator.cs
- WebBrowser.cs
- DataStreams.cs
- XPathNodeIterator.cs
- PageWrapper.cs
- IERequestCache.cs
- SystemIPGlobalStatistics.cs
- WindowsPrincipal.cs
- webbrowsersite.cs
- StyleSheetRefUrlEditor.cs
- GenericPrincipal.cs
- PropertyPathConverter.cs
- InstanceCompleteException.cs
- WebPartsPersonalization.cs
- TableStyle.cs
- AlignmentXValidation.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- RegexTree.cs
- DBConnectionString.cs
- TreeNodeBindingCollection.cs
- FreeIndexList.cs
- HistoryEventArgs.cs
- MemberExpressionHelper.cs
- ArraySortHelper.cs
- BrushMappingModeValidation.cs
- Attachment.cs
- sqlcontext.cs
- SelectorItemAutomationPeer.cs
- RemotingConfigParser.cs
- DataGridViewComboBoxEditingControl.cs
- Maps.cs
- ResourceProperty.cs
- TypeSystem.cs
- RadioButtonStandardAdapter.cs
- DSASignatureFormatter.cs
- DrawingContextFlattener.cs
- PixelShader.cs
- OutputCacheProfileCollection.cs
- hresults.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- SqlFunctionAttribute.cs
- SoapElementAttribute.cs
- Image.cs
- Unit.cs
- ECDiffieHellmanCngPublicKey.cs
- ThumbAutomationPeer.cs
- SourceFileBuildProvider.cs
- LongSumAggregationOperator.cs
- SiteMapDataSourceDesigner.cs
- NumberSubstitution.cs
- BuildDependencySet.cs
- CountdownEvent.cs
- XMLSyntaxException.cs
- ValidationSummaryDesigner.cs
- GeneralTransform2DTo3D.cs
- HtmlHistory.cs
- ConnectionManagementElementCollection.cs
- ReadOnlyObservableCollection.cs
- TripleDES.cs
- CqlIdentifiers.cs
- OutOfMemoryException.cs
- sapiproxy.cs
- metadatamappinghashervisitor.cs
- BitmapData.cs
- MaterialCollection.cs
- NetworkInterface.cs
- SqlFormatter.cs
- SessionEndingEventArgs.cs
- OleDbMetaDataFactory.cs
- DataBindingExpressionBuilder.cs
- TraceProvider.cs
- RowToParametersTransformer.cs
- EventLogEntryCollection.cs
- MobilePage.cs
- FrameworkContentElementAutomationPeer.cs
- CodeDelegateCreateExpression.cs
- LocalBuilder.cs
- ProxyHelper.cs
- ExtensibleClassFactory.cs
- FrameworkTextComposition.cs
- JsonDeserializer.cs
- BamlResourceContent.cs
- ServiceObjectContainer.cs
- Stack.cs
- AuthenticationSection.cs
- WindowHideOrCloseTracker.cs
- TextRenderer.cs
- ImagingCache.cs