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
- Rect.cs
- PolyQuadraticBezierSegment.cs
- IDictionary.cs
- HashMembershipCondition.cs
- InternalsVisibleToAttribute.cs
- ChangePassword.cs
- UriTemplateEquivalenceComparer.cs
- String.cs
- DurableEnlistmentState.cs
- VBCodeProvider.cs
- TimeZone.cs
- StdRegProviderWrapper.cs
- CheckedPointers.cs
- EntityContainerEmitter.cs
- SplitterDesigner.cs
- HMACSHA1.cs
- CaretElement.cs
- DictionaryManager.cs
- _NTAuthentication.cs
- HostingPreferredMapPath.cs
- DataGridViewComboBoxCell.cs
- ViewGenResults.cs
- CircleHotSpot.cs
- ResolveCriteriaApril2005.cs
- DataSetUtil.cs
- StringAttributeCollection.cs
- DisplayInformation.cs
- COM2TypeInfoProcessor.cs
- MarginsConverter.cs
- PrivilegeNotHeldException.cs
- CommunicationObjectFaultedException.cs
- RadioButtonAutomationPeer.cs
- EncoderParameter.cs
- ObjectDataSourceSelectingEventArgs.cs
- RuntimeArgumentHandle.cs
- PointValueSerializer.cs
- XmlReader.cs
- XhtmlBasicSelectionListAdapter.cs
- PageBorderless.cs
- CodeAttributeArgumentCollection.cs
- CollectionConverter.cs
- DictionaryEntry.cs
- Stream.cs
- StringWriter.cs
- UiaCoreApi.cs
- SynchronizationScope.cs
- LogReservationCollection.cs
- ZipIOFileItemStream.cs
- DataGridViewTextBoxColumn.cs
- TogglePatternIdentifiers.cs
- TimeSpanConverter.cs
- BindableAttribute.cs
- CellRelation.cs
- SqlRowUpdatedEvent.cs
- NullableDecimalAverageAggregationOperator.cs
- QuaternionAnimationBase.cs
- AnnotationService.cs
- MetadataReference.cs
- DefaultAsyncDataDispatcher.cs
- WindowsFormsHost.cs
- SQLRoleProvider.cs
- WorkflowRequestContext.cs
- StackOverflowException.cs
- XPathCompileException.cs
- WorkflowDefinitionDispenser.cs
- MaskedTextBox.cs
- ContentValidator.cs
- InputReportEventArgs.cs
- Hex.cs
- FileUtil.cs
- CellNormalizer.cs
- DataSysAttribute.cs
- HighContrastHelper.cs
- TypeInformation.cs
- Rectangle.cs
- ValidationPropertyAttribute.cs
- SoapCommonClasses.cs
- ProfileSettings.cs
- PointAnimationUsingKeyFrames.cs
- ProjectionPathBuilder.cs
- RowCache.cs
- StoreItemCollection.Loader.cs
- WebPartChrome.cs
- ScriptReferenceEventArgs.cs
- TextTreeUndoUnit.cs
- XmlSerializationWriter.cs
- InstanceNotReadyException.cs
- Int32CollectionValueSerializer.cs
- TextDocumentView.cs
- WebBaseEventKeyComparer.cs
- InstanceDataCollection.cs
- TextView.cs
- MultitargetUtil.cs
- TemplateControlCodeDomTreeGenerator.cs
- BookmarkScope.cs
- PersistChildrenAttribute.cs
- ControlPropertyNameConverter.cs
- ProviderSettings.cs
- ConfigXmlReader.cs
- TextStore.cs