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
- Int32AnimationBase.cs
- Variable.cs
- PictureBox.cs
- VisualTreeHelper.cs
- ColumnHeader.cs
- PlatformNotSupportedException.cs
- HttpProfileBase.cs
- ButtonChrome.cs
- SimpleWebHandlerParser.cs
- HttpCacheParams.cs
- SqlMethodAttribute.cs
- TTSEngineProxy.cs
- datacache.cs
- BatchParser.cs
- AppearanceEditorPart.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- ClientScriptItemCollection.cs
- DeviceSpecific.cs
- ChildDocumentBlock.cs
- PropertyExpression.cs
- ParagraphResult.cs
- UriExt.cs
- RNGCryptoServiceProvider.cs
- AlignmentYValidation.cs
- ConditionValidator.cs
- PointLight.cs
- FlowDocumentView.cs
- DbReferenceCollection.cs
- TableLayoutPanelCodeDomSerializer.cs
- FormsAuthenticationEventArgs.cs
- GridToolTip.cs
- ListView.cs
- ExpressionBuilder.cs
- IdleTimeoutMonitor.cs
- SynchronizationFilter.cs
- AuthenticatingEventArgs.cs
- InputBindingCollection.cs
- FlowDocumentScrollViewer.cs
- Transform.cs
- LayoutManager.cs
- UInt64.cs
- ProjectionCamera.cs
- HtmlTable.cs
- DbConnectionInternal.cs
- LongValidator.cs
- CompositeControl.cs
- OpCellTreeNode.cs
- WindowsAltTab.cs
- MutexSecurity.cs
- SqlMultiplexer.cs
- Floater.cs
- FragmentQuery.cs
- Ref.cs
- SerialStream.cs
- AssemblyInfo.cs
- IEnumerable.cs
- WebConfigurationHost.cs
- StylusLogic.cs
- Attributes.cs
- Control.cs
- MemoryStream.cs
- MenuAdapter.cs
- XPathNavigatorReader.cs
- ExtendedProtectionPolicy.cs
- DoneReceivingAsyncResult.cs
- SqlAggregateChecker.cs
- XNodeValidator.cs
- WebPartEditorCancelVerb.cs
- DES.cs
- CultureInfo.cs
- WhitespaceRuleReader.cs
- DesignerHost.cs
- SiteMapPath.cs
- Collection.cs
- ProviderSettings.cs
- ClientType.cs
- InheritablePropertyChangeInfo.cs
- FontWeightConverter.cs
- TextUtf8RawTextWriter.cs
- UIElement3D.cs
- RegistryConfigurationProvider.cs
- StrokeNodeEnumerator.cs
- ProfileSection.cs
- baseaxisquery.cs
- ChunkedMemoryStream.cs
- AsnEncodedData.cs
- SessionEndedEventArgs.cs
- AttributeCollection.cs
- DesignerActionUIService.cs
- httpserverutility.cs
- HttpRawResponse.cs
- WebPartConnectionsConfigureVerb.cs
- RuntimeWrappedException.cs
- IntPtr.cs
- ScriptingAuthenticationServiceSection.cs
- OleServicesContext.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- UnsafeNativeMethodsTablet.cs
- SecurityRuntime.cs
- DynamicValueConverter.cs