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
- WindowPattern.cs
- documentation.cs
- ToolStripDropDownButton.cs
- OdbcConnection.cs
- GlyphRunDrawing.cs
- Attributes.cs
- Pair.cs
- ConnectionInterfaceCollection.cs
- WhiteSpaceTrimStringConverter.cs
- CompleteWizardStep.cs
- ConfigXmlAttribute.cs
- BuildResult.cs
- MediaPlayer.cs
- Descriptor.cs
- ValidationResult.cs
- Bidi.cs
- SAPIEngineTypes.cs
- StateDesigner.LayoutSelectionGlyph.cs
- Number.cs
- EntityClientCacheKey.cs
- ColorConverter.cs
- StandardCommands.cs
- StylusPointPropertyInfoDefaults.cs
- BaseParaClient.cs
- NoResizeSelectionBorderGlyph.cs
- TextEditorLists.cs
- ConfigsHelper.cs
- TextElementEnumerator.cs
- TreeNodeBindingCollection.cs
- ClassicBorderDecorator.cs
- FlowDocumentFormatter.cs
- DateTimePicker.cs
- AttributeInfo.cs
- GeometryValueSerializer.cs
- HtmlElement.cs
- WebBrowserPermission.cs
- TemplateBamlRecordReader.cs
- SystemFonts.cs
- HttpContext.cs
- ToolStripItemBehavior.cs
- HtmlWindowCollection.cs
- Selection.cs
- DataGridTablesFactory.cs
- ControlBindingsConverter.cs
- DrawingContextWalker.cs
- OracleSqlParser.cs
- BridgeDataReader.cs
- SetterTriggerConditionValueConverter.cs
- Int32CollectionConverter.cs
- ClientTarget.cs
- ExpressionBuilderContext.cs
- SiteMapPath.cs
- String.cs
- SimpleRecyclingCache.cs
- XmlDocument.cs
- XsdValidatingReader.cs
- WebBrowsableAttribute.cs
- X509UI.cs
- ModelVisual3D.cs
- TemplateManager.cs
- ListBoxDesigner.cs
- RemoteTokenFactory.cs
- ConnectionStringsExpressionBuilder.cs
- Selection.cs
- pingexception.cs
- PrintController.cs
- ConstructorExpr.cs
- AllMembershipCondition.cs
- SigningCredentials.cs
- hresults.cs
- PartialTrustHelpers.cs
- SoapSchemaImporter.cs
- GenericNameHandler.cs
- ExplicitDiscriminatorMap.cs
- ProfileGroupSettingsCollection.cs
- UnmanagedBitmapWrapper.cs
- UnionExpr.cs
- DigestComparer.cs
- FontSourceCollection.cs
- GuidConverter.cs
- SchemaNames.cs
- SudsWriter.cs
- RowsCopiedEventArgs.cs
- TypeExtension.cs
- SoapObjectInfo.cs
- TimersDescriptionAttribute.cs
- CachedPathData.cs
- BrushConverter.cs
- XDeferredAxisSource.cs
- MimePart.cs
- QueryPrefixOp.cs
- XmlILStorageConverter.cs
- StrokeNodeData.cs
- HttpRawResponse.cs
- WebHttpDispatchOperationSelector.cs
- _ScatterGatherBuffers.cs
- ActivityWithResultValueSerializer.cs
- PageThemeParser.cs
- ImageIndexConverter.cs
- XmlUrlResolver.cs