Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / ControlBindingsConverter.cs / 1 / ControlBindingsConverter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="System.Windows.Forms.Design.ControlBindingsConverter..ctor()")] namespace System.Windows.Forms.Design { using System; using Microsoft.Win32; using System.Collections; using System.ComponentModel; using System.Globalization; internal class ControlBindingsConverter : TypeConverter { public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (destinationType == typeof(string)) { // return "(Bindings)"; // return an empty string, since we don't want a meaningless // string displayed as the value for the expandable Bindings property return ""; } return base.ConvertTo(context, culture, value, destinationType); } public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext context, object value, Attribute[] attributes) { if (value is ControlBindingsCollection) { ControlBindingsCollection collection = (ControlBindingsCollection)value; IBindableComponent control = collection.BindableComponent; Type type = control.GetType(); PropertyDescriptorCollection bindableProperties = TypeDescriptor.GetProperties(control, null); ArrayList props = new ArrayList(); for (int i = 0; i < bindableProperties.Count; i++) { // Create a read only binding if the data source is not one of the values we support. Binding binding = collection[bindableProperties[i].Name]; bool readOnly = !(binding == null || binding.DataSource is IListSource || binding.DataSource is IList || binding.DataSource is Array); DesignBindingPropertyDescriptor property = new DesignBindingPropertyDescriptor(bindableProperties[i], null, readOnly); bool bindable = ((BindableAttribute)bindableProperties[i].Attributes[typeof(BindableAttribute)]).Bindable; if (bindable || !((DesignBinding)property.GetValue(collection)).IsNull) { props.Add(property); } } props.Add(new AdvancedBindingPropertyDescriptor()); PropertyDescriptor[] propArray = new PropertyDescriptor[props.Count]; props.CopyTo(propArray,0); return new PropertyDescriptorCollection(propArray); } return new PropertyDescriptorCollection(new PropertyDescriptor[0]); } public override bool GetPropertiesSupported(ITypeDescriptorContext context) { return true; } } } // 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
- SimpleHandlerFactory.cs
- MissingManifestResourceException.cs
- BuildDependencySet.cs
- SoapBinding.cs
- InvokeMethodActivity.cs
- ColumnReorderedEventArgs.cs
- StringFreezingAttribute.cs
- ImportCatalogPart.cs
- DataRow.cs
- EdmConstants.cs
- TitleStyle.cs
- LinqDataSourceDisposeEventArgs.cs
- StructuredTypeEmitter.cs
- MemoryFailPoint.cs
- ReferenceConverter.cs
- NominalTypeEliminator.cs
- AxParameterData.cs
- UriWriter.cs
- BinaryObjectWriter.cs
- DecoderFallback.cs
- DCSafeHandle.cs
- BamlResourceDeserializer.cs
- UpdateCommand.cs
- SimpleWorkerRequest.cs
- PointValueSerializer.cs
- TreeViewImageKeyConverter.cs
- COM2PictureConverter.cs
- TraceContext.cs
- CardSpaceSelector.cs
- TogglePatternIdentifiers.cs
- FixedSOMLineCollection.cs
- Visual.cs
- TemplateControlCodeDomTreeGenerator.cs
- DBAsyncResult.cs
- MembershipUser.cs
- MetabaseServerConfig.cs
- WebException.cs
- _SSPISessionCache.cs
- DataGridViewEditingControlShowingEventArgs.cs
- CornerRadius.cs
- LocatorPartList.cs
- XmlSchemaFacet.cs
- SqlMethods.cs
- ToolstripProfessionalRenderer.cs
- EFColumnProvider.cs
- PathStreamGeometryContext.cs
- XmlQualifiedName.cs
- InputScopeManager.cs
- TextureBrush.cs
- BindingMAnagerBase.cs
- BinHexEncoder.cs
- LazyTextWriterCreator.cs
- DateTimePickerDesigner.cs
- DbConnectionPool.cs
- OAVariantLib.cs
- NumericPagerField.cs
- BindingWorker.cs
- ChannelBase.cs
- DbProviderFactory.cs
- FrameworkElementAutomationPeer.cs
- ResourceLoader.cs
- ConcurrentQueue.cs
- CompareValidator.cs
- XpsFixedDocumentSequenceReaderWriter.cs
- DbConnectionStringCommon.cs
- ClientEventManager.cs
- DoubleStorage.cs
- BuildManager.cs
- FixedSOMSemanticBox.cs
- sortedlist.cs
- DataGridViewCellStyleConverter.cs
- DataGrid.cs
- TempEnvironment.cs
- TextEffect.cs
- ActivityXamlServices.cs
- HandlerBase.cs
- UiaCoreApi.cs
- DataSourceBooleanViewSchemaConverter.cs
- FixedPageStructure.cs
- AuthorizationSection.cs
- ImageMap.cs
- PixelFormat.cs
- InsufficientMemoryException.cs
- DesignerWithHeader.cs
- XmlConvert.cs
- EntityConnectionStringBuilder.cs
- MoveSizeWinEventHandler.cs
- ContextStack.cs
- ArraySortHelper.cs
- DataGridViewCellStyle.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- NameHandler.cs
- WebPartUserCapability.cs
- MethodCallTranslator.cs
- MapPathBasedVirtualPathProvider.cs
- ToolboxItemCollection.cs
- StateManagedCollection.cs
- SafeNativeMethods.cs
- Options.cs
- WorkflowApplicationCompletedEventArgs.cs