Code:
/ FX-1434 / FX-1434 / 1.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
- ObjectDataSourceMethodEventArgs.cs
- CompoundFileIOPermission.cs
- SoapIncludeAttribute.cs
- Component.cs
- JsonDeserializer.cs
- Cursor.cs
- SchemaInfo.cs
- GeneralTransformGroup.cs
- CommunicationObjectManager.cs
- XmlDataImplementation.cs
- ConfigXmlComment.cs
- SecurityDocument.cs
- IgnoreFileBuildProvider.cs
- BamlRecordWriter.cs
- XmlWriterTraceListener.cs
- __TransparentProxy.cs
- CommandTreeTypeHelper.cs
- AllMembershipCondition.cs
- IconHelper.cs
- HttpServerVarsCollection.cs
- RootBrowserWindowAutomationPeer.cs
- SectionInformation.cs
- BeginSelectCardRequest.cs
- AxImporter.cs
- DrawingImage.cs
- WindowsAltTab.cs
- RuntimeConfig.cs
- XmlElement.cs
- ManipulationStartingEventArgs.cs
- NullableLongAverageAggregationOperator.cs
- EventsTab.cs
- ClientBuildManager.cs
- CollectionChangeEventArgs.cs
- HyperLinkField.cs
- PropVariant.cs
- DiagnosticsConfiguration.cs
- InitialServerConnectionReader.cs
- KeyConverter.cs
- KeyedByTypeCollection.cs
- OdbcEnvironment.cs
- TimeoutValidationAttribute.cs
- AssertSection.cs
- IDictionary.cs
- TypedCompletedAsyncResult.cs
- localization.cs
- KeyEvent.cs
- _FtpDataStream.cs
- SettingsBindableAttribute.cs
- ValidationHelpers.cs
- DnsPermission.cs
- HttpResponse.cs
- WarningException.cs
- CommonGetThemePartSize.cs
- BindingListCollectionView.cs
- BitmapFrameDecode.cs
- Quad.cs
- ArglessEventHandlerProxy.cs
- SchemaCollectionPreprocessor.cs
- HtmlToClrEventProxy.cs
- QueryOperatorEnumerator.cs
- DefaultMemberAttribute.cs
- Int16AnimationUsingKeyFrames.cs
- AppSettingsExpressionBuilder.cs
- CatalogPart.cs
- ImpersonationContext.cs
- RowBinding.cs
- DataControlPagerLinkButton.cs
- DbConnectionStringBuilder.cs
- BackStopAuthenticationModule.cs
- Decoder.cs
- XamlTemplateSerializer.cs
- CacheAxisQuery.cs
- PageVisual.cs
- RelationshipManager.cs
- CodeDomSerializer.cs
- ScalarConstant.cs
- WorkflowOperationErrorHandler.cs
- ToolStripGrip.cs
- FileLogRecordEnumerator.cs
- TreeView.cs
- XsdDuration.cs
- Model3DGroup.cs
- Region.cs
- RequestBringIntoViewEventArgs.cs
- Propagator.cs
- OdbcEnvironmentHandle.cs
- Interlocked.cs
- MSAANativeProvider.cs
- TileBrush.cs
- IBuiltInEvidence.cs
- DataGridViewColumnHeaderCell.cs
- PowerModeChangedEventArgs.cs
- LostFocusEventManager.cs
- TypeUnloadedException.cs
- MimeMapping.cs
- WindowsBrush.cs
- altserialization.cs
- DataGridViewCellConverter.cs
- InfoCardRSAOAEPKeyExchangeDeformatter.cs
- SharedDp.cs