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
- SettingsPropertyValue.cs
- X509CertificateStore.cs
- SerializationEventsCache.cs
- CharConverter.cs
- Transform3D.cs
- DefaultTextStore.cs
- DataServicePagingProviderWrapper.cs
- Message.cs
- Axis.cs
- XDeferredAxisSource.cs
- DataGridViewCellFormattingEventArgs.cs
- OdbcConnectionString.cs
- IntegerValidator.cs
- recordstate.cs
- SqlDataSource.cs
- DataGridRow.cs
- ToolStripSplitStackLayout.cs
- FontConverter.cs
- XmlNodeReader.cs
- ToolStripContainerDesigner.cs
- securitymgrsite.cs
- messageonlyhwndwrapper.cs
- DiffuseMaterial.cs
- IPEndPoint.cs
- SerializationSectionGroup.cs
- DataGridPagerStyle.cs
- ScrollPattern.cs
- FontUnitConverter.cs
- __ConsoleStream.cs
- TypeDelegator.cs
- XPathExpr.cs
- DocumentApplicationJournalEntry.cs
- HostedAspNetEnvironment.cs
- SoapFormatExtensions.cs
- HostingEnvironmentSection.cs
- ContentType.cs
- UInt64.cs
- EditingMode.cs
- ModelPerspective.cs
- ToolBarButton.cs
- TraceXPathNavigator.cs
- RenderOptions.cs
- PropVariant.cs
- SiteMapNode.cs
- Point4D.cs
- StrokeCollectionConverter.cs
- BindableAttribute.cs
- X509ChainPolicy.cs
- VirtualPathData.cs
- CompiledELinqQueryState.cs
- ModelTreeEnumerator.cs
- SerializationEventsCache.cs
- ComponentDispatcherThread.cs
- SqlUdtInfo.cs
- InstanceCreationEditor.cs
- PeekCompletedEventArgs.cs
- AnimatedTypeHelpers.cs
- CqlGenerator.cs
- ScalarRestriction.cs
- Compiler.cs
- LoginName.cs
- PixelFormats.cs
- Merger.cs
- InputManager.cs
- FlowDocumentScrollViewer.cs
- Point4D.cs
- AppModelKnownContentFactory.cs
- MouseGesture.cs
- ScriptingJsonSerializationSection.cs
- OrderingInfo.cs
- X500Name.cs
- CounterSample.cs
- ComboBoxRenderer.cs
- GradientStop.cs
- SessionPageStatePersister.cs
- ListViewInsertionMark.cs
- WebServiceErrorEvent.cs
- Renderer.cs
- WindowsButton.cs
- ExpressionQuoter.cs
- OptionalColumn.cs
- DebugView.cs
- DataSourceIDConverter.cs
- TracedNativeMethods.cs
- Point4DConverter.cs
- ServicePointManagerElement.cs
- ReadOnlyHierarchicalDataSource.cs
- TypeHelpers.cs
- AutomationPeer.cs
- GenericTypeParameterBuilder.cs
- PlaceHolder.cs
- SmtpNetworkElement.cs
- ExtenderProvidedPropertyAttribute.cs
- ModelUIElement3D.cs
- DocumentSequence.cs
- EdmMember.cs
- MemberRelationshipService.cs
- XLinq.cs
- BuildManagerHost.cs
- MenuEventArgs.cs