Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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); } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HiddenFieldDesigner.cs
- ExpressionEditorSheet.cs
- CommonXSendMessage.cs
- Scheduler.cs
- WpfXamlType.cs
- SafeViewOfFileHandle.cs
- TabItem.cs
- TdsParameterSetter.cs
- RelationshipEndMember.cs
- _CookieModule.cs
- PersistenceTypeAttribute.cs
- TypeDescriptionProviderAttribute.cs
- SizeAnimationUsingKeyFrames.cs
- ConfigXmlElement.cs
- TextAutomationPeer.cs
- ScopelessEnumAttribute.cs
- UniqueID.cs
- CompositeFontInfo.cs
- DataGridViewCellFormattingEventArgs.cs
- SimpleLine.cs
- PersonalizationProviderHelper.cs
- SourceCollection.cs
- TypedReference.cs
- EventLogInternal.cs
- OrderedDictionaryStateHelper.cs
- AtlasWeb.Designer.cs
- OleDbSchemaGuid.cs
- PatternMatchRules.cs
- ObjectQueryProvider.cs
- DataTableCollection.cs
- WorkflowPageSetupDialog.cs
- AsymmetricSignatureDeformatter.cs
- ReflectionTypeLoadException.cs
- State.cs
- Margins.cs
- SimpleBitVector32.cs
- CmsInterop.cs
- DataGridItemAttachedStorage.cs
- __Error.cs
- TypeConstant.cs
- AdministrationHelpers.cs
- KnownColorTable.cs
- StringExpressionSet.cs
- AddingNewEventArgs.cs
- basecomparevalidator.cs
- RenderingEventArgs.cs
- StylusDevice.cs
- BitSet.cs
- Cursor.cs
- FixedSOMTableRow.cs
- PageParserFilter.cs
- HitTestFilterBehavior.cs
- EmbeddedObject.cs
- linebase.cs
- CSharpCodeProvider.cs
- IItemContainerGenerator.cs
- _Connection.cs
- HostProtectionException.cs
- RemotingConfigParser.cs
- Convert.cs
- XmlSiteMapProvider.cs
- DbConnectionPool.cs
- PenLineCapValidation.cs
- ValueQuery.cs
- HtmlGenericControl.cs
- OleDbConnection.cs
- SiteMapProvider.cs
- StaticSiteMapProvider.cs
- ObjectQueryExecutionPlan.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- Header.cs
- EntityDataSourceDataSelection.cs
- EventLogRecord.cs
- ProfileManager.cs
- BitmapEffectGroup.cs
- XPathConvert.cs
- ApplicationGesture.cs
- AxisAngleRotation3D.cs
- PrtCap_Public.cs
- ConnectionInterfaceCollection.cs
- TrayIconDesigner.cs
- TableStyle.cs
- FixedPageAutomationPeer.cs
- SizeIndependentAnimationStorage.cs
- ColumnBinding.cs
- ZoneLinkButton.cs
- TaskExtensions.cs
- MsmqException.cs
- StreamDocument.cs
- PaintValueEventArgs.cs
- TypeGeneratedEventArgs.cs
- ProviderSettingsCollection.cs
- TabRenderer.cs
- CompositeControl.cs
- ControlAdapter.cs
- FileSystemEventArgs.cs
- OleDbDataReader.cs
- WebEventTraceProvider.cs
- ChannelManager.cs
- TouchEventArgs.cs