Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- SqlParameter.cs
- SingleStorage.cs
- ObjectStorage.cs
- WebPartsPersonalization.cs
- DebugViewWriter.cs
- FixedSOMTable.cs
- PeerResolverMode.cs
- FixedSchema.cs
- SchemaTypeEmitter.cs
- PingOptions.cs
- QueryConverter.cs
- TrimSurroundingWhitespaceAttribute.cs
- DataSvcMapFile.cs
- DataFormats.cs
- WebConfigurationHost.cs
- WebColorConverter.cs
- DropSource.cs
- MetafileHeader.cs
- WebScriptEnablingBehavior.cs
- ParserExtension.cs
- oledbconnectionstring.cs
- RowUpdatingEventArgs.cs
- Listbox.cs
- DesignerVerb.cs
- ProtocolElementCollection.cs
- UIElement3D.cs
- InputLanguage.cs
- BamlResourceContent.cs
- KeyEventArgs.cs
- MetaColumn.cs
- Enum.cs
- StylusPointPropertyInfoDefaults.cs
- FontFamilyValueSerializer.cs
- InvokeGenerator.cs
- HierarchicalDataBoundControl.cs
- BaseDataListPage.cs
- EventsTab.cs
- ConfigViewGenerator.cs
- ScrollPattern.cs
- ProcessProtocolHandler.cs
- _ScatterGatherBuffers.cs
- Line.cs
- VectorValueSerializer.cs
- HttpDebugHandler.cs
- RepeaterDataBoundAdapter.cs
- WebAdminConfigurationHelper.cs
- FusionWrap.cs
- selecteditemcollection.cs
- TableProvider.cs
- Literal.cs
- QilVisitor.cs
- HandlerMappingMemo.cs
- PropertyGridView.cs
- UserControl.cs
- SizeKeyFrameCollection.cs
- SecurityKeyType.cs
- SelectingProviderEventArgs.cs
- CompoundFileReference.cs
- ListenerSessionConnection.cs
- PolyBezierSegment.cs
- DelimitedListTraceListener.cs
- BitConverter.cs
- EndpointFilterProvider.cs
- HttpListenerContext.cs
- TableLayoutStyleCollection.cs
- ExpressionBindingCollection.cs
- UiaCoreTypesApi.cs
- DotNetATv1WindowsLogEntryDeserializer.cs
- TreeView.cs
- CustomCategoryAttribute.cs
- SqlWebEventProvider.cs
- ProbeDuplexAsyncResult.cs
- HttpListenerException.cs
- TypeConverterValueSerializer.cs
- ManipulationVelocities.cs
- TCPClient.cs
- TemplateControlCodeDomTreeGenerator.cs
- TableRow.cs
- ArraySortHelper.cs
- XmlSchemaObject.cs
- DataIdProcessor.cs
- ProviderManager.cs
- ApplicationManager.cs
- MouseEventArgs.cs
- XmlDataImplementation.cs
- TextureBrush.cs
- IConvertible.cs
- AssemblyCollection.cs
- QilStrConcat.cs
- HtmlButton.cs
- SizeValueSerializer.cs
- XmlSchemaIdentityConstraint.cs
- AsymmetricSignatureDeformatter.cs
- OrderByQueryOptionExpression.cs
- RightsManagementInformation.cs
- CompiledQueryCacheKey.cs
- SortDescription.cs
- EventManager.cs
- SqlGatherProducedAliases.cs
- ConnectionPoint.cs