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
- DataGridColumnHeaderAutomationPeer.cs
- GridEntry.cs
- SplashScreen.cs
- CompressStream.cs
- Native.cs
- ActivationServices.cs
- DesignerForm.cs
- securitycriticaldataClass.cs
- TypeConverterHelper.cs
- HScrollProperties.cs
- Viewport3DAutomationPeer.cs
- ItemsPanelTemplate.cs
- TemplateBindingExtension.cs
- BaseComponentEditor.cs
- ListViewItemSelectionChangedEvent.cs
- SafeNativeMethods.cs
- X509PeerCertificateAuthentication.cs
- CodeDomDesignerLoader.cs
- KeyInstance.cs
- WebChannelFactory.cs
- DoWorkEventArgs.cs
- MetadataPropertyCollection.cs
- QueryStringParameter.cs
- WindowsFormsHelpers.cs
- TreeView.cs
- OleDbRowUpdatedEvent.cs
- GroupJoinQueryOperator.cs
- XmlNavigatorFilter.cs
- FastEncoderStatics.cs
- ConfigurationSection.cs
- SecurityTokenRequirement.cs
- HitTestWithGeometryDrawingContextWalker.cs
- SelectionPatternIdentifiers.cs
- AudioFileOut.cs
- Cell.cs
- HttpListener.cs
- PassportAuthentication.cs
- PrintingPermissionAttribute.cs
- PermissionSetEnumerator.cs
- ProxyHelper.cs
- ContainerUtilities.cs
- Section.cs
- RegularExpressionValidator.cs
- CSharpCodeProvider.cs
- messageonlyhwndwrapper.cs
- EventLogTraceListener.cs
- CrossAppDomainChannel.cs
- ProvidePropertyAttribute.cs
- DbConnectionPoolGroupProviderInfo.cs
- StateMachineWorkflow.cs
- BufferModesCollection.cs
- Animatable.cs
- Brush.cs
- SmiXetterAccessMap.cs
- CodeDelegateInvokeExpression.cs
- XPathDescendantIterator.cs
- DictionaryBase.cs
- BehaviorEditorPart.cs
- PropertyDescriptor.cs
- GuidelineCollection.cs
- ImageAnimator.cs
- StorageBasedPackageProperties.cs
- SrgsOneOf.cs
- BinaryFormatterWriter.cs
- COM2IDispatchConverter.cs
- SingleObjectCollection.cs
- ChameleonKey.cs
- DayRenderEvent.cs
- Type.cs
- CommonProperties.cs
- NumericExpr.cs
- ExceptQueryOperator.cs
- PostBackTrigger.cs
- PagePropertiesChangingEventArgs.cs
- VScrollProperties.cs
- AcceptorSessionSymmetricTransportSecurityProtocol.cs
- ChannelReliableSession.cs
- DrawingCollection.cs
- CfgParser.cs
- ComponentDispatcherThread.cs
- ActivityCompletionCallbackWrapper.cs
- ExpressionReplacer.cs
- DependencyPropertyConverter.cs
- CodeGeneratorOptions.cs
- NamespaceList.cs
- FontFamilyIdentifier.cs
- PropertyGridCommands.cs
- CellConstantDomain.cs
- WasEndpointConfigContainer.cs
- OpenTypeLayoutCache.cs
- MemberAccessException.cs
- TreeViewItem.cs
- DefaultValueConverter.cs
- QueryReaderSettings.cs
- CaretElement.cs
- SpinWait.cs
- Highlights.cs
- RuleSetDialog.Designer.cs
- DateTimeSerializationSection.cs
- EntityDataSourceViewSchema.cs