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
- LinqExpressionNormalizer.cs
- WebPartEditorApplyVerb.cs
- PointLight.cs
- externdll.cs
- FieldDescriptor.cs
- ProgressBar.cs
- TextContainerHelper.cs
- HostProtectionException.cs
- ButtonBase.cs
- NetMsmqBindingCollectionElement.cs
- StateManager.cs
- PublisherIdentityPermission.cs
- FileSystemInfo.cs
- DataGridViewControlCollection.cs
- ListControlDesigner.cs
- ClaimTypeRequirement.cs
- HtmlTableRowCollection.cs
- XmlSchemaException.cs
- SemaphoreFullException.cs
- WebScriptEnablingBehavior.cs
- ViewSimplifier.cs
- LicenseProviderAttribute.cs
- DiscardableAttribute.cs
- WinFormsComponentEditor.cs
- Matrix.cs
- ListBase.cs
- GroupItem.cs
- ObjectStateEntry.cs
- Timer.cs
- TextPenaltyModule.cs
- control.ime.cs
- PreviewKeyDownEventArgs.cs
- RegexInterpreter.cs
- Set.cs
- ServiceHttpModule.cs
- DataTableMappingCollection.cs
- AuthorizationContext.cs
- UIPermission.cs
- SessionParameter.cs
- DeviceSpecific.cs
- CancellationTokenSource.cs
- TransactionManager.cs
- PngBitmapDecoder.cs
- WindowsSolidBrush.cs
- SmtpNegotiateAuthenticationModule.cs
- HttpAsyncResult.cs
- UrlMappingsSection.cs
- DataService.cs
- MarshalByRefObject.cs
- DoubleLink.cs
- MsmqDiagnostics.cs
- PackageRelationshipCollection.cs
- CompilerScopeManager.cs
- EntityParameter.cs
- WindowProviderWrapper.cs
- ClientRuntime.cs
- ToolBarButton.cs
- PagedDataSource.cs
- InstanceCompleteException.cs
- BinaryMethodMessage.cs
- FormClosingEvent.cs
- NativeConfigurationLoader.cs
- ToolStripLabel.cs
- Stopwatch.cs
- DataReceivedEventArgs.cs
- StrokeNodeEnumerator.cs
- DataGridCell.cs
- HyperLinkDesigner.cs
- SqlReferenceCollection.cs
- StartUpEventArgs.cs
- HttpResponseHeader.cs
- CaseInsensitiveComparer.cs
- TypedRowGenerator.cs
- ZeroOpNode.cs
- odbcmetadatacolumnnames.cs
- SafeFileMappingHandle.cs
- WindowProviderWrapper.cs
- XmlDownloadManager.cs
- Processor.cs
- PathFigure.cs
- MostlySingletonList.cs
- XmlCodeExporter.cs
- DomainConstraint.cs
- XmlILModule.cs
- ButtonColumn.cs
- WindowsListViewItem.cs
- Point.cs
- WebPageTraceListener.cs
- RoutedEventConverter.cs
- ApplicationHost.cs
- SqlUtils.cs
- AuthenticationModulesSection.cs
- PrintDialog.cs
- SmiContext.cs
- NodeFunctions.cs
- AnnouncementInnerClient11.cs
- MethodBody.cs
- TreeNodeSelectionProcessor.cs
- SoapCodeExporter.cs
- RegistryPermission.cs