Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- CollectionMarkupSerializer.cs
- ExpandSegmentCollection.cs
- DetailsViewCommandEventArgs.cs
- WsdlInspector.cs
- DataServiceClientException.cs
- EventProxy.cs
- AjaxFrameworkAssemblyAttribute.cs
- PriorityQueue.cs
- SqlXml.cs
- StylusPointCollection.cs
- BaseCollection.cs
- ResourcesChangeInfo.cs
- PinnedBufferMemoryStream.cs
- IntSecurity.cs
- TextBoxView.cs
- XmlSchemaComplexType.cs
- EntityDesignerUtils.cs
- Size.cs
- VariantWrapper.cs
- ProcessProtocolHandler.cs
- SqlDataSourceConfigureSortForm.cs
- Control.cs
- AdPostCacheSubstitution.cs
- HttpHandlerActionCollection.cs
- ObjectTag.cs
- SQLCharsStorage.cs
- MetadataPropertyAttribute.cs
- SecurityUniqueId.cs
- CommonObjectSecurity.cs
- RegexParser.cs
- StdValidatorsAndConverters.cs
- DateTimeOffset.cs
- ColumnBinding.cs
- AxDesigner.cs
- PanelStyle.cs
- FormView.cs
- WsdlImporterElement.cs
- WithParamAction.cs
- NaturalLanguageHyphenator.cs
- ListViewHitTestInfo.cs
- DataGridItemAutomationPeer.cs
- ASCIIEncoding.cs
- ReflectionServiceProvider.cs
- SiteMapNode.cs
- DataGridViewButtonColumn.cs
- XmlSchemaCollection.cs
- HtmlButton.cs
- StreamUpdate.cs
- ToolStripHighContrastRenderer.cs
- SystemBrushes.cs
- PrintPageEvent.cs
- ConstructorArgumentAttribute.cs
- DbParameterHelper.cs
- XmlBinaryReader.cs
- AutomationPatternInfo.cs
- RequestTimeoutManager.cs
- ScrollBar.cs
- GeneralTransform.cs
- CorrelationManager.cs
- UserControlParser.cs
- IconHelper.cs
- BatchServiceHost.cs
- InputMethodStateChangeEventArgs.cs
- DataGridViewAdvancedBorderStyle.cs
- WebPartEventArgs.cs
- CurrentChangingEventManager.cs
- SqlNotificationEventArgs.cs
- HtmlElementCollection.cs
- PeerResolver.cs
- HtmlProps.cs
- SqlMetaData.cs
- InputReportEventArgs.cs
- DbLambda.cs
- EventLogPermissionEntry.cs
- TextEditorSpelling.cs
- WFItemsToSpacerVisibility.cs
- XmlNotation.cs
- DataBoundControlAdapter.cs
- ButtonChrome.cs
- NamedPipeConnectionPool.cs
- HtmlShimManager.cs
- SystemParameters.cs
- AstTree.cs
- TreeNodeEventArgs.cs
- RsaElement.cs
- QilInvoke.cs
- DataGridViewRowCancelEventArgs.cs
- TextEditorSelection.cs
- RootProfilePropertySettingsCollection.cs
- X509WindowsSecurityToken.cs
- XsdValidatingReader.cs
- ScrollBarAutomationPeer.cs
- FormattedText.cs
- HashCodeCombiner.cs
- DrawToolTipEventArgs.cs
- DataTable.cs
- BindingObserver.cs
- PeerApplicationLaunchInfo.cs
- AspCompat.cs
- SizeAnimationClockResource.cs