Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / MS / Internal / Data / BindingWorker.cs / 3 / 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 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
- EncoderParameters.cs
- WorkflowOperationErrorHandler.cs
- BaseProcessor.cs
- AddIn.cs
- ObjectConverter.cs
- SchemaImporterExtension.cs
- WebControlParameterProxy.cs
- DragEventArgs.cs
- TableLayoutSettings.cs
- DateTimeSerializationSection.cs
- OTFRasterizer.cs
- ColorTranslator.cs
- MessageBox.cs
- AttachmentCollection.cs
- InfiniteIntConverter.cs
- Part.cs
- DataMisalignedException.cs
- KoreanLunisolarCalendar.cs
- CryptoStream.cs
- GeneralTransform2DTo3D.cs
- QilChoice.cs
- WindowsIPAddress.cs
- TiffBitmapEncoder.cs
- FlowDocumentPage.cs
- SimpleTypesSurrogate.cs
- FunctionImportElement.cs
- CollectionViewGroupInternal.cs
- CodeObject.cs
- CompiledELinqQueryState.cs
- SyndicationSerializer.cs
- ExpressionBindingsDialog.cs
- ToolConsole.cs
- DropShadowEffect.cs
- SoapParser.cs
- ExcCanonicalXml.cs
- HealthMonitoringSection.cs
- DataViewSettingCollection.cs
- ScalarType.cs
- SqlConnection.cs
- _RequestLifetimeSetter.cs
- ListBox.cs
- userdatakeys.cs
- MetadataUtil.cs
- LightweightCodeGenerator.cs
- DataServiceKeyAttribute.cs
- ClaimTypeElementCollection.cs
- RTLAwareMessageBox.cs
- DataGridViewImageCell.cs
- MDIWindowDialog.cs
- RepeaterCommandEventArgs.cs
- VirtualizedItemPattern.cs
- BitStream.cs
- SecurityTokenProviderContainer.cs
- ContextBase.cs
- CounterSample.cs
- ContentIterators.cs
- _Win32.cs
- AppLevelCompilationSectionCache.cs
- SystemKeyConverter.cs
- StreamingContext.cs
- InkCanvas.cs
- TraceContextRecord.cs
- TreeViewItem.cs
- WindowsListViewItem.cs
- EventWaitHandleSecurity.cs
- MissingFieldException.cs
- ValidationHelpers.cs
- SqlCacheDependencySection.cs
- PropertyNames.cs
- ScriptResourceInfo.cs
- RepeaterDesigner.cs
- SmtpLoginAuthenticationModule.cs
- DependencyObject.cs
- WeakReference.cs
- UnsafeNativeMethods.cs
- UnsafeNativeMethods.cs
- MaskedTextBoxTextEditorDropDown.cs
- BasicKeyConstraint.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- XmlStrings.cs
- ManagedFilter.cs
- SR.cs
- XmlDictionaryReaderQuotas.cs
- DataServiceEntityAttribute.cs
- autovalidator.cs
- followingquery.cs
- ThemeInfoAttribute.cs
- SslStream.cs
- ConfigurationStrings.cs
- TableStyle.cs
- AssemblyInfo.cs
- ApplicationServiceHelper.cs
- ListViewHitTestInfo.cs
- CachedTypeface.cs
- HtmlSelectionListAdapter.cs
- IndicShape.cs
- SmuggledIUnknown.cs
- Terminate.cs
- RuntimeCompatibilityAttribute.cs
- ObjectToIdCache.cs