Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / DesignBindingValueUIHandler.cs / 1 / DesignBindingValueUIHandler.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms.Design { using System; using System.Collections; using System.Windows.Forms; using Microsoft.Win32; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing.Design; using System.Drawing; ////// /// /// internal class DesignBindingValueUIHandler : IDisposable { private Bitmap dataBitmap; internal Bitmap DataBitmap { get { if (dataBitmap == null) { dataBitmap = new Bitmap(typeof(DesignBindingValueUIHandler), "BoundProperty.bmp"); dataBitmap.MakeTransparent(); } return dataBitmap; } } internal void OnGetUIValueItem(ITypeDescriptorContext context, PropertyDescriptor propDesc, ArrayList valueUIItemList){ if (context.Instance is Control) { Control control = (Control) context.Instance; foreach (Binding binding in control.DataBindings) { // Only add the binding if it is one of the data source types we recognize. Otherwise, our drop-down list won't show it as // an option, which is confusing. if ((binding.DataSource is IListSource || binding.DataSource is IList || binding.DataSource is Array) && binding.PropertyName.Equals(propDesc.Name)) { valueUIItemList.Add(new LocalUIItem(this, binding)); } } } } class LocalUIItem : PropertyValueUIItem { Binding binding; internal LocalUIItem(DesignBindingValueUIHandler handler, Binding binding) : base(handler.DataBitmap, new PropertyValueUIItemInvokeHandler(handler.OnPropertyValueUIItemInvoke), GetToolTip(binding)) { this.binding = binding; } internal Binding Binding { get { return binding; } } static string GetToolTip(Binding binding) { string name = ""; if (binding.DataSource is IComponent) { IComponent comp = (IComponent) binding.DataSource; if (comp.Site != null) { name = comp.Site.Name; } } if (name.Length == 0) { name = "(List)"; } name += " - " + binding.BindingMemberInfo.BindingMember; return name; } } private void OnPropertyValueUIItemInvoke(ITypeDescriptorContext context, PropertyDescriptor descriptor, PropertyValueUIItem invokedItem) { LocalUIItem localItem = (LocalUIItem) invokedItem; IServiceProvider sop = null; Control control = localItem.Binding.Control; if (control.Site != null) { sop = ( IServiceProvider ) control.Site.GetService(typeof( IServiceProvider )); } if (sop != null) { AdvancedBindingPropertyDescriptor.advancedBindingEditor.EditValue(context, sop, control.DataBindings); } } public void Dispose() { if (dataBitmap != null) { dataBitmap.Dispose(); } } } } // 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
- PeerEndPoint.cs
- TreeNodeBindingCollection.cs
- XsltFunctions.cs
- PeerCustomResolverBindingElement.cs
- BaseConfigurationRecord.cs
- Rect3DValueSerializer.cs
- counter.cs
- TargetException.cs
- CultureSpecificCharacterBufferRange.cs
- TextEditor.cs
- ProfileModule.cs
- XmlTextAttribute.cs
- XmlSchemaDatatype.cs
- ArraySortHelper.cs
- DataGridViewRowPrePaintEventArgs.cs
- Utils.cs
- cache.cs
- ColorPalette.cs
- Int64KeyFrameCollection.cs
- DataGridViewCellCollection.cs
- SoapExtension.cs
- ValueQuery.cs
- BitmapVisualManager.cs
- recordstatescratchpad.cs
- TemplatedEditableDesignerRegion.cs
- CollectionsUtil.cs
- CodeTypeReference.cs
- SafeEventLogWriteHandle.cs
- DataGridViewCellConverter.cs
- ColorPalette.cs
- StylusPlugin.cs
- DataView.cs
- PriorityRange.cs
- BaseConfigurationRecord.cs
- ISSmlParser.cs
- translator.cs
- EdmItemCollection.cs
- RuleConditionDialog.Designer.cs
- PersistenceProvider.cs
- SqlGatherProducedAliases.cs
- PlainXmlSerializer.cs
- Ppl.cs
- SimpleBitVector32.cs
- Random.cs
- ConfigXmlAttribute.cs
- Clause.cs
- WebRequestModuleElementCollection.cs
- OleStrCAMarshaler.cs
- ListControlStringCollectionEditor.cs
- Resources.Designer.cs
- WebEncodingValidator.cs
- WindowsSidIdentity.cs
- NonSerializedAttribute.cs
- CellParagraph.cs
- ImageSourceValueSerializer.cs
- SafeMILHandle.cs
- XmlSchemaInfo.cs
- SoapElementAttribute.cs
- MenuCommands.cs
- EdmMember.cs
- DbCommandTree.cs
- PointValueSerializer.cs
- RenamedEventArgs.cs
- NodeFunctions.cs
- ServiceOperationListItemList.cs
- VideoDrawing.cs
- DeleteBookmarkScope.cs
- ThousandthOfEmRealDoubles.cs
- Facet.cs
- AssemblyUtil.cs
- StylusOverProperty.cs
- ClientSideQueueItem.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- SecurityContext.cs
- RequestCachePolicy.cs
- OdbcInfoMessageEvent.cs
- HttpResponseHeader.cs
- RegexCapture.cs
- TextModifierScope.cs
- UrlPropertyAttribute.cs
- SplashScreen.cs
- EditCommandColumn.cs
- PersonalizationDictionary.cs
- XMLUtil.cs
- ContentControl.cs
- WebServiceEnumData.cs
- ToolStripDesigner.cs
- KerberosSecurityTokenAuthenticator.cs
- TransformConverter.cs
- HebrewNumber.cs
- SmtpNtlmAuthenticationModule.cs
- EventLogPermission.cs
- GenericWebPart.cs
- ListViewUpdateEventArgs.cs
- ResourceDictionary.cs
- CreateUserWizard.cs
- XmlElementAttribute.cs
- XamlVector3DCollectionSerializer.cs
- ResumeStoryboard.cs
- NamedPermissionSet.cs