Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / MS / Internal / Data / BindingWorker.cs / 3 / 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 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
- UnsafeNativeMethodsPenimc.cs
- MonthChangedEventArgs.cs
- LinqDataSourceUpdateEventArgs.cs
- DesignerCapabilities.cs
- PhysicalFontFamily.cs
- TraceEventCache.cs
- CategoryGridEntry.cs
- OletxCommittableTransaction.cs
- CommandManager.cs
- DependencyObjectType.cs
- EditingCommands.cs
- RegexCaptureCollection.cs
- Guid.cs
- DbParameterCollectionHelper.cs
- IApplicationTrustManager.cs
- LazyInitializer.cs
- InternalBase.cs
- CounterSample.cs
- FormViewDeletedEventArgs.cs
- TabControl.cs
- MemberAccessException.cs
- DateRangeEvent.cs
- InternalRelationshipCollection.cs
- DataGridViewCellStateChangedEventArgs.cs
- DbDeleteCommandTree.cs
- recordstatefactory.cs
- MetadataUtilsSmi.cs
- TypedTableHandler.cs
- Tile.cs
- Propagator.cs
- RegistrySecurity.cs
- wgx_commands.cs
- InputElement.cs
- MenuStrip.cs
- Vector3DCollectionConverter.cs
- ToolStripOverflow.cs
- DocumentViewer.cs
- StrongName.cs
- ExpressionReplacer.cs
- ExpressionReplacer.cs
- CacheAxisQuery.cs
- DockPatternIdentifiers.cs
- OleAutBinder.cs
- AutoGeneratedField.cs
- EdmError.cs
- XmlLanguage.cs
- Menu.cs
- ServerValidateEventArgs.cs
- WorkerRequest.cs
- BinaryObjectWriter.cs
- TTSEvent.cs
- RootBrowserWindowAutomationPeer.cs
- XComponentModel.cs
- XPathNode.cs
- XmlSchemaInclude.cs
- InvokePattern.cs
- XmlEventCache.cs
- TimeEnumHelper.cs
- DefaultWorkflowLoaderService.cs
- SerializationInfoEnumerator.cs
- ViewStateException.cs
- tibetanshape.cs
- SharedUtils.cs
- SignatureDescription.cs
- Stack.cs
- XmlSecureResolver.cs
- ListBindableAttribute.cs
- ToolStripLabel.cs
- GeometryConverter.cs
- SchemaObjectWriter.cs
- ErrorRuntimeConfig.cs
- NullableConverter.cs
- indexingfiltermarshaler.cs
- FixedSOMGroup.cs
- ImageMetadata.cs
- ElementNotAvailableException.cs
- GlyphRunDrawing.cs
- ParameterBuilder.cs
- DSASignatureFormatter.cs
- User.cs
- SafeHandles.cs
- sqlpipe.cs
- StronglyTypedResourceBuilder.cs
- HMACMD5.cs
- SimpleRecyclingCache.cs
- AssociationSet.cs
- DispatcherOperation.cs
- ObjectSecurity.cs
- DetailsView.cs
- XsltSettings.cs
- SessionEndingEventArgs.cs
- CommandEventArgs.cs
- DataGridLinkButton.cs
- ConcurrentStack.cs
- RectangleGeometry.cs
- ToolStripPanelDesigner.cs
- Transform.cs
- webbrowsersite.cs
- XmlArrayItemAttributes.cs
- FormattedTextSymbols.cs