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
- JsonDataContract.cs
- PtsHost.cs
- ContentWrapperAttribute.cs
- UnmanagedMarshal.cs
- GenericRootAutomationPeer.cs
- DeflateStream.cs
- CodeAttachEventStatement.cs
- SplitterPanel.cs
- BoundColumn.cs
- FaultContractAttribute.cs
- CollectionViewGroup.cs
- CodeMemberMethod.cs
- DataQuery.cs
- InstanceDataCollection.cs
- VirtualPath.cs
- DataGridViewCheckBoxCell.cs
- ParentQuery.cs
- Tablet.cs
- TableAdapterManagerHelper.cs
- Substitution.cs
- RequiredAttributeAttribute.cs
- QilLoop.cs
- BezierSegment.cs
- Char.cs
- CodeValidator.cs
- Int32Collection.cs
- DefaultExpressionVisitor.cs
- ColumnWidthChangedEvent.cs
- OleDbFactory.cs
- RoleManagerSection.cs
- DateTimeParse.cs
- JoinElimination.cs
- ProcessProtocolHandler.cs
- WorkflowInstanceQuery.cs
- XmlHierarchyData.cs
- XPathExpr.cs
- LineBreakRecord.cs
- HWStack.cs
- DataGridViewSelectedRowCollection.cs
- TriggerBase.cs
- ClientRuntimeConfig.cs
- TableStyle.cs
- Figure.cs
- TypeLibConverter.cs
- ThrowHelper.cs
- FixedSchema.cs
- DynamicUpdateCommand.cs
- UmAlQuraCalendar.cs
- ActivityCodeDomSerializationManager.cs
- ZoneMembershipCondition.cs
- Blend.cs
- BinaryFormatterSinks.cs
- MimeReflector.cs
- ExtendedProtectionPolicyTypeConverter.cs
- PropertyGeneratedEventArgs.cs
- ActivationServices.cs
- TypeNameConverter.cs
- PrintingPermission.cs
- SemanticResolver.cs
- CryptoApi.cs
- ConsumerConnectionPoint.cs
- RepeaterItemCollection.cs
- ListViewItemSelectionChangedEvent.cs
- IndexObject.cs
- PrimaryKeyTypeConverter.cs
- SystemParameters.cs
- SwitchAttribute.cs
- FrameworkContextData.cs
- BitmapFrame.cs
- ProtectedConfiguration.cs
- StringBuilder.cs
- SamlAttributeStatement.cs
- HostUtils.cs
- XmlUrlResolver.cs
- MobileRedirect.cs
- EdmError.cs
- activationcontext.cs
- NameValueSectionHandler.cs
- SizeAnimationBase.cs
- NetNamedPipeSecurityMode.cs
- datacache.cs
- CodeTypeReferenceCollection.cs
- ErrorTableItemStyle.cs
- PointConverter.cs
- PackageFilter.cs
- IndexerNameAttribute.cs
- XmlByteStreamReader.cs
- RoleServiceManager.cs
- UInt16.cs
- StrongNameIdentityPermission.cs
- SchemaManager.cs
- StyleCollectionEditor.cs
- LogAppendAsyncResult.cs
- CollectionViewSource.cs
- CmsInterop.cs
- CatalogPartChrome.cs
- TagPrefixInfo.cs
- CheckBoxAutomationPeer.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- ColumnWidthChangedEvent.cs