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
- VideoDrawing.cs
- StrokeDescriptor.cs
- EditorAttribute.cs
- RealizationDrawingContextWalker.cs
- Cursor.cs
- PerspectiveCamera.cs
- CollectionBuilder.cs
- AmbientLight.cs
- PasswordTextContainer.cs
- SqlError.cs
- SafeHandles.cs
- XPathScanner.cs
- CriticalFinalizerObject.cs
- ScriptManagerProxy.cs
- AudioException.cs
- DesignerValidatorAdapter.cs
- TableLayoutPanel.cs
- DataGridRelationshipRow.cs
- WindowsSlider.cs
- DoubleAnimationUsingPath.cs
- MatrixCamera.cs
- XPathScanner.cs
- VirtualPathProvider.cs
- ThreadPool.cs
- GridViewColumn.cs
- SmiXetterAccessMap.cs
- ToolStripProgressBar.cs
- Substitution.cs
- MsmqNonTransactedPoisonHandler.cs
- Encoding.cs
- WebResourceAttribute.cs
- FactoryRecord.cs
- StreamSecurityUpgradeAcceptor.cs
- DtdParser.cs
- LineBreak.cs
- BaseDataListActionList.cs
- FormsAuthenticationUserCollection.cs
- XmlIlVisitor.cs
- ListViewGroupCollectionEditor.cs
- KnowledgeBase.cs
- BrowserCapabilitiesFactory.cs
- RealizationContext.cs
- CustomLineCap.cs
- LoadWorkflowAsyncResult.cs
- ContainerVisual.cs
- BindingMAnagerBase.cs
- PackageDigitalSignature.cs
- AspNetHostingPermission.cs
- OperationResponse.cs
- NetPeerTcpBinding.cs
- SubqueryRules.cs
- View.cs
- SHA256Managed.cs
- Stacktrace.cs
- HostingEnvironmentSection.cs
- SiteMapSection.cs
- Filter.cs
- DataServiceQueryOfT.cs
- SiteMap.cs
- FederatedMessageSecurityOverHttp.cs
- BrowserDefinition.cs
- TypefaceMetricsCache.cs
- ConstrainedDataObject.cs
- QuotedPrintableStream.cs
- DataGridViewLayoutData.cs
- IsolatedStorageFile.cs
- DefaultBinder.cs
- PathSegment.cs
- SecurityTokenSpecification.cs
- DataGridViewHeaderCell.cs
- BitmapImage.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- CaretElement.cs
- Font.cs
- ResourceProviderFactory.cs
- RequestResizeEvent.cs
- PartialToken.cs
- SyntaxCheck.cs
- RegexCompiler.cs
- TextEditorCharacters.cs
- ClientBuildManagerCallback.cs
- GenericTextProperties.cs
- QueryResponse.cs
- DefaultHttpHandler.cs
- SqlError.cs
- UriTemplatePathPartiallyEquivalentSet.cs
- MetadataSource.cs
- SiteMapNodeItem.cs
- TextFragmentEngine.cs
- CqlParserHelpers.cs
- ActivityCodeDomSerializationManager.cs
- CommandLibraryHelper.cs
- ExpressionBuilder.cs
- ApplicationSecurityInfo.cs
- CommonObjectSecurity.cs
- AssemblyResourceLoader.cs
- RadioButton.cs
- UpdatePanelTrigger.cs
- DesignerCommandSet.cs
- SiteMapPathDesigner.cs