Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / ControlPropertyNameConverter.cs / 1305376 / 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. /// 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CompilationRelaxations.cs
- PageSettings.cs
- SqlTriggerContext.cs
- BaseAddressElement.cs
- SqlCacheDependencyDatabaseCollection.cs
- TimelineCollection.cs
- HierarchicalDataTemplate.cs
- _AutoWebProxyScriptEngine.cs
- InlineObject.cs
- DodSequenceMerge.cs
- MenuBindingsEditor.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- Section.cs
- Socket.cs
- HttpListener.cs
- configsystem.cs
- HideDisabledControlAdapter.cs
- ListViewSelectEventArgs.cs
- KnownAssembliesSet.cs
- SemanticAnalyzer.cs
- DbConnectionHelper.cs
- UserInitiatedNavigationPermission.cs
- RuntimeWrappedException.cs
- SqlDependencyUtils.cs
- HttpServerUtilityWrapper.cs
- ReflectionPermission.cs
- TileBrush.cs
- ActivityBuilderHelper.cs
- CopyNamespacesAction.cs
- EntityViewGenerator.cs
- SqlSupersetValidator.cs
- InputElement.cs
- TagPrefixInfo.cs
- HttpWriter.cs
- ActivityAction.cs
- OleDragDropHandler.cs
- AutomationProperties.cs
- MetadataArtifactLoaderFile.cs
- Padding.cs
- Empty.cs
- TraceContextRecord.cs
- Translator.cs
- SizeAnimationClockResource.cs
- DataColumnMapping.cs
- ValidationPropertyAttribute.cs
- IdentityManager.cs
- Compensation.cs
- RtType.cs
- EventData.cs
- ReferenceList.cs
- SiteMapDataSource.cs
- DrawingImage.cs
- WebEventCodes.cs
- SlipBehavior.cs
- TileBrush.cs
- HashHelper.cs
- FileDialogCustomPlace.cs
- selecteditemcollection.cs
- SerializationException.cs
- RSAPKCS1KeyExchangeFormatter.cs
- ShaderEffect.cs
- MasterPageParser.cs
- StylusPointDescription.cs
- SendActivity.cs
- Utils.cs
- Attributes.cs
- DataStreams.cs
- TemplateNameScope.cs
- ObjectCache.cs
- DefaultAuthorizationContext.cs
- SetterBase.cs
- SignatureToken.cs
- OledbConnectionStringbuilder.cs
- CodeLinePragma.cs
- WebBrowserProgressChangedEventHandler.cs
- UrlAuthorizationModule.cs
- SQLBinary.cs
- PageAsyncTask.cs
- SqlStream.cs
- XmlCDATASection.cs
- HttpWebRequest.cs
- CrossSiteScriptingValidation.cs
- DataChangedEventManager.cs
- HttpListenerException.cs
- RectAnimationUsingKeyFrames.cs
- QilDataSource.cs
- ClaimTypes.cs
- BCryptNative.cs
- Error.cs
- ArglessEventHandlerProxy.cs
- TailCallAnalyzer.cs
- HostedAspNetEnvironment.cs
- DbConnectionPool.cs
- CalloutQueueItem.cs
- ListView.cs
- SrgsElementList.cs
- DescendantQuery.cs
- OleDbFactory.cs
- AlgoModule.cs
- MissingFieldException.cs