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
- ChangePassword.cs
- AliasedSlot.cs
- TextContainerHelper.cs
- Synchronization.cs
- XmlIncludeAttribute.cs
- ToolStripItem.cs
- TextRangeSerialization.cs
- SettingsSavedEventArgs.cs
- Padding.cs
- BinHexDecoder.cs
- SchemaTypeEmitter.cs
- XmlElementAttributes.cs
- BasePropertyDescriptor.cs
- ResourceReader.cs
- DataBoundControlHelper.cs
- OneWayBindingElementImporter.cs
- EntityContainerAssociationSet.cs
- GeneralTransform3D.cs
- ActivityBindForm.cs
- FlowLayoutPanel.cs
- WinEventHandler.cs
- Context.cs
- ComponentCodeDomSerializer.cs
- SafeCancelMibChangeNotify.cs
- BinHexDecoder.cs
- MenuBindingsEditor.cs
- TargetControlTypeCache.cs
- ExeContext.cs
- InternalTypeHelper.cs
- GcSettings.cs
- ChangeInterceptorAttribute.cs
- QueryStringParameter.cs
- TaiwanCalendar.cs
- RoutedEventConverter.cs
- LicenseProviderAttribute.cs
- SuppressIldasmAttribute.cs
- ListSourceHelper.cs
- SevenBitStream.cs
- SqlDependencyUtils.cs
- HttpCachePolicy.cs
- Geometry.cs
- Soap12ServerProtocol.cs
- MouseEventArgs.cs
- WebPartRestoreVerb.cs
- SqlPersonalizationProvider.cs
- UpdatePanelTriggerCollection.cs
- ListViewInsertEventArgs.cs
- ObjectAssociationEndMapping.cs
- StringFreezingAttribute.cs
- ComponentChangingEvent.cs
- ContentType.cs
- XsltContext.cs
- DbTypeMap.cs
- Int32CAMarshaler.cs
- TraceSection.cs
- SemaphoreFullException.cs
- ReadOnlyDictionary.cs
- QuestionEventArgs.cs
- DataGridViewControlCollection.cs
- CodeMemberMethod.cs
- HealthMonitoringSection.cs
- RichTextBox.cs
- PageRanges.cs
- Misc.cs
- ConnectionPointConverter.cs
- ObjectManager.cs
- securitycriticaldataformultiplegetandset.cs
- ValueConversionAttribute.cs
- TabRenderer.cs
- InitializeCorrelation.cs
- SystemResources.cs
- XmlElementAttributes.cs
- DataTable.cs
- InputMethod.cs
- LocatorGroup.cs
- CodeFieldReferenceExpression.cs
- WebDescriptionAttribute.cs
- ResizeBehavior.cs
- XhtmlBasicPanelAdapter.cs
- ApplicationHost.cs
- QueryableFilterRepeater.cs
- StateValidator.cs
- SqlFlattener.cs
- SessionEndingEventArgs.cs
- MulticastIPAddressInformationCollection.cs
- ResolvedKeyFrameEntry.cs
- IpcClientChannel.cs
- PerformanceCounterPermission.cs
- ToolBar.cs
- ImageDrawing.cs
- WsdlImporterElement.cs
- Int32Animation.cs
- DirectoryInfo.cs
- HttpException.cs
- SafeRightsManagementEnvironmentHandle.cs
- CircleHotSpot.cs
- XmlParser.cs
- ProfileManager.cs
- SqlInfoMessageEvent.cs
- HostProtectionPermission.cs