Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Data / PriorityBinding.cs / 1 / PriorityBinding.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Defines PriorityBinding object, which stores information // for creating instances of PriorityBindingExpression objects. // // See spec at [....]/connecteddata/Specs/Data%20Binding.mht // //--------------------------------------------------------------------------- using System; using System.Collections; using System.Collections.ObjectModel; // Collectionusing System.ComponentModel; using System.Globalization; using System.Windows.Markup; using MS.Internal.Data; using MS.Utility; namespace System.Windows.Data { /// /// Describes a collection of bindings attached to a single property. /// These behave as "priority" bindings, meaning that the property /// receives its value from the first binding in the collection that /// can produce a legal value. /// [ContentProperty("Bindings")] public class PriorityBinding : BindingBase, IAddChild { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- ///Constructor public PriorityBinding() : base() { _bindingCollection = new BindingCollection(this, new BindingCollectionChangedCallback(OnBindingCollectionChanged)); } #region IAddChild ////// Called to Add the object as a Child. /// /// /// Object to add as a child - must have type BindingBase /// void IAddChild.AddChild(Object value) { BindingBase binding = value as BindingBase; if (binding != null) Bindings.Add(binding); else throw new ArgumentException(SR.Get(SRID.ChildHasWrongType, this.GetType().Name, "BindingBase", value.GetType().FullName), "value"); } ////// Called when text appears under the tag in markup /// /// /// Text to Add to the Object /// void IAddChild.AddText(string text) { XamlSerializerUtil.ThrowIfNonWhiteSpaceInAddText(text, this); } #endregion IAddChild //------------------------------------------------------ // // Public Properties // //----------------------------------------------------- ///List of inner bindings [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] public CollectionBindings { get { return _bindingCollection; } } /// /// This method is used by TypeDescriptor to determine if this property should /// be serialized. /// [EditorBrowsable(EditorBrowsableState.Never)] public bool ShouldSerializeBindings() { return (Bindings != null && Bindings.Count > 0); } //------------------------------------------------------ // // Protected Methods // //------------------------------------------------------ ////// Create an appropriate expression for this Binding, to be attached /// to the given DependencyProperty on the given DependencyObject. /// internal override BindingExpressionBase CreateBindingExpressionOverride(DependencyObject target, DependencyProperty dp, BindingExpressionBase owner) { return PriorityBindingExpression.CreateBindingExpression(target, dp, this, owner); } private void OnBindingCollectionChanged() { CheckSealed(); } //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ BindingCollection _bindingCollection; } } // 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
- RegexReplacement.cs
- QualifiedCellIdBoolean.cs
- DataSourceXmlSubItemAttribute.cs
- StringFormat.cs
- SerializationObjectManager.cs
- AnimationStorage.cs
- ThreadInterruptedException.cs
- ClickablePoint.cs
- DurableOperationAttribute.cs
- BoundColumn.cs
- EmptyControlCollection.cs
- InputLangChangeRequestEvent.cs
- TextEditorCharacters.cs
- StringPropertyBuilder.cs
- PatternMatcher.cs
- FileAuthorizationModule.cs
- BindStream.cs
- IgnorePropertiesAttribute.cs
- BrowsableAttribute.cs
- DPTypeDescriptorContext.cs
- LayoutSettings.cs
- XmlSchemaExporter.cs
- PrimarySelectionGlyph.cs
- RpcResponse.cs
- ColorContextHelper.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- BinaryReader.cs
- LocalFileSettingsProvider.cs
- backend.cs
- FlowchartStart.xaml.cs
- HtmlElement.cs
- CreateUserWizardAutoFormat.cs
- PasswordTextNavigator.cs
- ProjectionPruner.cs
- ECDiffieHellmanPublicKey.cs
- ConnectorRouter.cs
- ConnectionStringSettings.cs
- TypeGeneratedEventArgs.cs
- ConstNode.cs
- Decoder.cs
- Pointer.cs
- FolderBrowserDialog.cs
- ExpressionConverter.cs
- SchemaTableColumn.cs
- WebPartHeaderCloseVerb.cs
- PictureBox.cs
- ToolbarAUtomationPeer.cs
- InfoCardServiceInstallComponent.cs
- WebBrowserNavigatingEventHandler.cs
- securitycriticaldata.cs
- WizardStepBase.cs
- SymbolResolver.cs
- XmlValidatingReader.cs
- UpdateProgress.cs
- LineInfo.cs
- LocalTransaction.cs
- ProcessHostMapPath.cs
- DBDataPermissionAttribute.cs
- FilteredXmlReader.cs
- DataColumnMappingCollection.cs
- CheckBoxPopupAdapter.cs
- PrintPageEvent.cs
- StringValidatorAttribute.cs
- SimpleApplicationHost.cs
- ActiveXSite.cs
- QueryTaskGroupState.cs
- Bookmark.cs
- ScriptComponentDescriptor.cs
- AnnotationObservableCollection.cs
- Identifier.cs
- Vector3DCollectionValueSerializer.cs
- RIPEMD160.cs
- codemethodreferenceexpression.cs
- BuildProvidersCompiler.cs
- WebServiceMethodData.cs
- CustomTypeDescriptor.cs
- AncillaryOps.cs
- storagemappingitemcollection.viewdictionary.cs
- InkCanvasInnerCanvas.cs
- ConstrainedDataObject.cs
- SecurityDescriptor.cs
- Clock.cs
- HttpContextWrapper.cs
- DesigntimeLicenseContext.cs
- MethodRental.cs
- IdentityNotMappedException.cs
- AnimatedTypeHelpers.cs
- CodePropertyReferenceExpression.cs
- TagMapInfo.cs
- XmlSerializerFormatAttribute.cs
- ListViewUpdatedEventArgs.cs
- Input.cs
- VisualBrush.cs
- PathGeometry.cs
- XmlBinaryReader.cs
- StrokeCollection.cs
- BaseAddressElement.cs
- ImageDesigner.cs
- x509store.cs
- ControlCachePolicy.cs