Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / ControlPropertyNameConverter.cs / 1 / ControlPropertyNameConverter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Globalization; using System.Reflection; using System.Web.Util; using System.Security.Permissions; ////// TypeConverter for ControlParameter's PropertyName property. /// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class ControlPropertyNameConverter : StringConverter { ////// Returns a list of all the propery names for a given control. /// private string[] GetPropertyNames(Control control) { ArrayList array = new ArrayList(); PropertyDescriptorCollection pdc = TypeDescriptor.GetProperties(control.GetType()); foreach (PropertyDescriptor desc in pdc) { array.Add(desc.Name); } array.Sort(Comparer.Default); return (string[])array.ToArray(typeof(string)); } ////// Returns a collection of standard values retrieved from the context specified /// by the specified type descriptor. /// public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context) { if (context == null) { return null; } // Get ControlID ControlParameter param = (ControlParameter)context.Instance; string controlID = param.ControlID; // Check that we actually have a control ID if (String.IsNullOrEmpty(controlID)) return null; // Get designer host IDesignerHost host = (IDesignerHost)context.GetService(typeof(IDesignerHost)); Debug.Assert(host != null, "Unable to get IDesignerHost in ControlPropertyNameConverter"); if (host == null) return null; // Get control ComponentCollection allComponents = host.Container.Components; Control control = allComponents[controlID] as Control; if (control == null) return null; string[] propertyNames = GetPropertyNames(control); return new StandardValuesCollection(propertyNames); } ////// Gets whether or not the context specified contains exclusive standard values. /// public override bool GetStandardValuesExclusive(ITypeDescriptorContext context) { return false; } ////// Gets whether or not the specified context contains supported standard values. /// public override bool GetStandardValuesSupported(ITypeDescriptorContext context) { return (context != null); } } } // 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
- NonBatchDirectoryCompiler.cs
- HostVisual.cs
- XmlDataSourceView.cs
- XPathEmptyIterator.cs
- OutKeywords.cs
- RadioButtonAutomationPeer.cs
- SubqueryTrackingVisitor.cs
- DynamicQueryableWrapper.cs
- Error.cs
- SchemaInfo.cs
- ResolveInfo.cs
- TextBox.cs
- VirtualDirectoryMapping.cs
- FormViewUpdatedEventArgs.cs
- GlyphCache.cs
- PipeStream.cs
- ApplicationCommands.cs
- CompositeScriptReference.cs
- Int32KeyFrameCollection.cs
- SimpleMailWebEventProvider.cs
- ListItemCollection.cs
- SmtpSection.cs
- InputLanguageProfileNotifySink.cs
- EntityTransaction.cs
- CalendarDay.cs
- UnrecognizedAssertionsBindingElement.cs
- MatrixAnimationUsingKeyFrames.cs
- ListItemDetailViewAttribute.cs
- ComboBoxDesigner.cs
- FilteredDataSetHelper.cs
- MimeMapping.cs
- TrustVersion.cs
- DesignerAttributeInfo.cs
- TextMessageEncodingElement.cs
- WindowsGraphics2.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- MenuItemAutomationPeer.cs
- ReferenceAssemblyAttribute.cs
- XmlSchemaCompilationSettings.cs
- SmiGettersStream.cs
- EnterpriseServicesHelper.cs
- DataListItemCollection.cs
- XmlCountingReader.cs
- DesignTimeSiteMapProvider.cs
- TypeSystemProvider.cs
- ColumnResizeAdorner.cs
- AddressHeaderCollectionElement.cs
- basecomparevalidator.cs
- HttpMethodConstraint.cs
- DataObjectSettingDataEventArgs.cs
- ItemAutomationPeer.cs
- TableProviderWrapper.cs
- SiteMapNodeItem.cs
- DelegateBodyWriter.cs
- ToolStripSeparatorRenderEventArgs.cs
- CodeCompiler.cs
- ArrangedElementCollection.cs
- EventProxy.cs
- XhtmlMobileTextWriter.cs
- TypeUtil.cs
- TrustSection.cs
- TraceFilter.cs
- Message.cs
- SystemWebCachingSectionGroup.cs
- SystemIcons.cs
- unitconverter.cs
- XMLSchema.cs
- BCLDebug.cs
- Activation.cs
- ColorAnimationBase.cs
- ObjectCacheHost.cs
- XhtmlBasicCalendarAdapter.cs
- CapabilitiesPattern.cs
- GeometryGroup.cs
- Stylesheet.cs
- GridViewSelectEventArgs.cs
- XmlReader.cs
- propertytag.cs
- WebHttpSecurityModeHelper.cs
- XmlSchemaValidationException.cs
- WebPartVerbCollection.cs
- Point3DConverter.cs
- WebResourceAttribute.cs
- ApplyImportsAction.cs
- SchemaName.cs
- StyleHelper.cs
- CodeTypeDeclarationCollection.cs
- GraphicsState.cs
- ColumnHeaderCollectionEditor.cs
- EntityDataSourceEntitySetNameItem.cs
- SoapObjectWriter.cs
- ChannelPool.cs
- ConfigurationPermission.cs
- SerialReceived.cs
- Splitter.cs
- TraceUtils.cs
- InternalPermissions.cs
- FormsAuthentication.cs
- UtilityExtension.cs
- HistoryEventArgs.cs