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
- DiagnosticTrace.cs
- FlowThrottle.cs
- FileClassifier.cs
- CheckBox.cs
- OciEnlistContext.cs
- RangeContentEnumerator.cs
- DragAssistanceManager.cs
- PerformanceCounterPermissionEntry.cs
- OSEnvironmentHelper.cs
- EdmProperty.cs
- DesignParameter.cs
- ContainerControl.cs
- MoveSizeWinEventHandler.cs
- CursorInteropHelper.cs
- ToolStripSeparator.cs
- ClientBuildManagerCallback.cs
- updateconfighost.cs
- ClipboardData.cs
- RemotingConfiguration.cs
- DataGridViewCellEventArgs.cs
- AccessorTable.cs
- ReflectionTypeLoadException.cs
- GeneralTransformGroup.cs
- xmlsaver.cs
- MediaPlayer.cs
- XmlILConstructAnalyzer.cs
- ActivityBindForm.cs
- InProcStateClientManager.cs
- JavaScriptString.cs
- DbParameterCollectionHelper.cs
- IChannel.cs
- followingsibling.cs
- ToolboxItemCollection.cs
- WindowsTab.cs
- UTF7Encoding.cs
- Range.cs
- SaveLedgerEntryRequest.cs
- OdbcConnectionFactory.cs
- NotifyParentPropertyAttribute.cs
- ApplicationServicesHostFactory.cs
- UrlPropertyAttribute.cs
- MaskDescriptor.cs
- EventBindingService.cs
- Base64Stream.cs
- SizeAnimationClockResource.cs
- OracleInternalConnection.cs
- TraceUtility.cs
- ObjectConverter.cs
- ListViewUpdatedEventArgs.cs
- Bits.cs
- PriorityItem.cs
- LinqDataSourceStatusEventArgs.cs
- DTCTransactionManager.cs
- ErrorWrapper.cs
- ClockController.cs
- Errors.cs
- PerformanceCounterPermissionEntry.cs
- DefaultPropertyAttribute.cs
- FileDialogCustomPlace.cs
- EnumConverter.cs
- NumberFunctions.cs
- Highlights.cs
- DataFieldEditor.cs
- ConstructorArgumentAttribute.cs
- VariantWrapper.cs
- HtmlWindowCollection.cs
- ITextView.cs
- Point3DKeyFrameCollection.cs
- AnimationStorage.cs
- DbConvert.cs
- XslNumber.cs
- SymLanguageType.cs
- SQLGuid.cs
- RenamedEventArgs.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- ThrowHelper.cs
- DataBindingExpressionBuilder.cs
- InstanceDataCollectionCollection.cs
- FigureParaClient.cs
- ComponentRenameEvent.cs
- MemberProjectionIndex.cs
- BindingEditor.xaml.cs
- FileLogRecordStream.cs
- ServiceNotStartedException.cs
- UrlMappingsModule.cs
- login.cs
- TimeStampChecker.cs
- OSFeature.cs
- AVElementHelper.cs
- ActivityValidator.cs
- DataGridViewTextBoxColumn.cs
- propertytag.cs
- AdRotator.cs
- Primitive.cs
- ScrollPattern.cs
- PointHitTestResult.cs
- ServiceBusyException.cs
- EmptyImpersonationContext.cs
- PagerSettings.cs
- RelativeSource.cs