Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / MS / Internal / Data / BindingWorker.cs / 2 / 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
- WebPartConnectionsCloseVerb.cs
- InvalidEnumArgumentException.cs
- SmtpReplyReaderFactory.cs
- TableAutomationPeer.cs
- _NetworkingPerfCounters.cs
- ProxyWebPartManager.cs
- CodeDirectoryCompiler.cs
- SchemaExporter.cs
- MatrixTransform3D.cs
- FormatterServices.cs
- Matrix.cs
- SqlDataReaderSmi.cs
- Int16.cs
- ConnectionManagementSection.cs
- ISFTagAndGuidCache.cs
- SessionStateModule.cs
- NonceCache.cs
- ImageCodecInfo.cs
- ExpressionBindingCollection.cs
- PhysicalFontFamily.cs
- CompressionTransform.cs
- TransactionContextManager.cs
- CapabilitiesAssignment.cs
- DBNull.cs
- Byte.cs
- WSHttpBindingElement.cs
- CommandLineParser.cs
- ValueExpressions.cs
- CodeNamespace.cs
- System.Data_BID.cs
- XmlRawWriter.cs
- ConfigurationPropertyAttribute.cs
- Base64Encoding.cs
- ToolBarOverflowPanel.cs
- UnescapedXmlDiagnosticData.cs
- OpCodes.cs
- WebPartConnectionsCancelVerb.cs
- EntityConnectionStringBuilder.cs
- BatchWriter.cs
- StyleCollection.cs
- Bidi.cs
- XPathAxisIterator.cs
- ContainerUtilities.cs
- ObjectTypeMapping.cs
- _ProxyRegBlob.cs
- RichTextBoxConstants.cs
- AbandonedMutexException.cs
- SkipQueryOptionExpression.cs
- CodePageUtils.cs
- DataSetMappper.cs
- DirectoryObjectSecurity.cs
- DropSource.cs
- PersonalizationProviderHelper.cs
- FunctionGenerator.cs
- EncryptedData.cs
- PerformanceCountersElement.cs
- Errors.cs
- PageStatePersister.cs
- SrgsGrammar.cs
- BasicCellRelation.cs
- SystemIPv6InterfaceProperties.cs
- SerializationInfoEnumerator.cs
- BStrWrapper.cs
- DataTable.cs
- Listbox.cs
- DriveNotFoundException.cs
- WebPartsPersonalizationAuthorization.cs
- SymbolEqualComparer.cs
- UpnEndpointIdentity.cs
- xmlsaver.cs
- CompiledQueryCacheEntry.cs
- StaticSiteMapProvider.cs
- ConstructorBuilder.cs
- FormViewDeletedEventArgs.cs
- ColorConverter.cs
- JapaneseLunisolarCalendar.cs
- IgnorePropertiesAttribute.cs
- SqlNodeAnnotation.cs
- KeysConverter.cs
- CodeArrayCreateExpression.cs
- Update.cs
- WindowsRichEdit.cs
- DoubleLinkList.cs
- PngBitmapEncoder.cs
- TextEditorCopyPaste.cs
- SafeMILHandle.cs
- BinaryExpression.cs
- CompilerCollection.cs
- QueryContinueDragEventArgs.cs
- LinkDesigner.cs
- DashStyle.cs
- InfoCardService.cs
- TextRangeEditLists.cs
- Helper.cs
- Brushes.cs
- UIElement.cs
- KeyConverter.cs
- AssemblyCollection.cs
- TouchesOverProperty.cs
- WSTrustFeb2005.cs