Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ContentValidator.cs
- Rect.cs
- CultureTable.cs
- IntellisenseTextBox.designer.cs
- WebDescriptionAttribute.cs
- RemoteWebConfigurationHost.cs
- TranslateTransform.cs
- Point3DValueSerializer.cs
- CompiledRegexRunnerFactory.cs
- SkewTransform.cs
- FontStyle.cs
- InvalidProgramException.cs
- RuntimeCompatibilityAttribute.cs
- XXXOnTypeBuilderInstantiation.cs
- ElapsedEventArgs.cs
- _ConnectionGroup.cs
- SocketPermission.cs
- RefreshEventArgs.cs
- FolderBrowserDialog.cs
- XslAstAnalyzer.cs
- RenderTargetBitmap.cs
- CodeDOMUtility.cs
- Knowncolors.cs
- Duration.cs
- HtmlTitle.cs
- XmlSchemaElement.cs
- WorkflowTransactionOptions.cs
- GenericRootAutomationPeer.cs
- DataGridColumn.cs
- SQLDouble.cs
- PaperSource.cs
- MulticastDelegate.cs
- ConnectionProviderAttribute.cs
- StringFormat.cs
- FacetValueContainer.cs
- BreadCrumbTextConverter.cs
- ConnectionStringSettings.cs
- ResXDataNode.cs
- SqlDeflator.cs
- LinkLabel.cs
- BuildManager.cs
- CLSCompliantAttribute.cs
- BamlLocalizationDictionary.cs
- DoubleAnimationUsingKeyFrames.cs
- BaseProcessor.cs
- SerialPinChanges.cs
- MimeObjectFactory.cs
- XmlObjectSerializerReadContext.cs
- Slider.cs
- BitArray.cs
- TypeUsage.cs
- ExpressionConverter.cs
- NativeMethods.cs
- Resources.Designer.cs
- XmlText.cs
- NonVisualControlAttribute.cs
- AbsoluteQuery.cs
- PointF.cs
- MarkupExtensionReturnTypeAttribute.cs
- MSAAEventDispatcher.cs
- InvalidComObjectException.cs
- TableRowCollection.cs
- ObjectListCommandEventArgs.cs
- EdmFunction.cs
- TextProperties.cs
- CodeValidator.cs
- TypeLibConverter.cs
- RangeEnumerable.cs
- MemberAccessException.cs
- TypeDelegator.cs
- GZipStream.cs
- FullTextState.cs
- UriWriter.cs
- KeyboardNavigation.cs
- UIElementAutomationPeer.cs
- HierarchicalDataBoundControlAdapter.cs
- DefaultBinder.cs
- AssociationEndMember.cs
- XmlSignificantWhitespace.cs
- ValuePatternIdentifiers.cs
- Preprocessor.cs
- ClaimTypes.cs
- SoapIgnoreAttribute.cs
- _Events.cs
- DataBindingCollection.cs
- MimeWriter.cs
- MimeTypeMapper.cs
- FontFamilyValueSerializer.cs
- Viewport2DVisual3D.cs
- XPathException.cs
- MsmqAppDomainProtocolHandler.cs
- ChannelServices.cs
- MouseButtonEventArgs.cs
- ServiceDescriptionContext.cs
- SessionStateModule.cs
- DesignBindingPropertyDescriptor.cs
- Root.cs
- SafeCertificateContext.cs
- GroupBox.cs
- FunctionNode.cs