Code:
/ FX-1434 / FX-1434 / 1.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
- XPathDocumentNavigator.cs
- NameScopePropertyAttribute.cs
- ConsumerConnectionPointCollection.cs
- COAUTHINFO.cs
- DesignTableCollection.cs
- HtmlElementCollection.cs
- SmiXetterAccessMap.cs
- CodeTryCatchFinallyStatement.cs
- BoolExpr.cs
- HttpCookie.cs
- WebPartsSection.cs
- translator.cs
- TrackingLocationCollection.cs
- FilterQuery.cs
- LocatorManager.cs
- DataReceivedEventArgs.cs
- ApplicationServiceHelper.cs
- PropertyDescriptorComparer.cs
- FontEmbeddingManager.cs
- Rotation3D.cs
- ClientRolePrincipal.cs
- Configuration.cs
- KeyConverter.cs
- CodeGenerator.cs
- ToolStripSeparatorRenderEventArgs.cs
- NotifyIcon.cs
- ToolStripTemplateNode.cs
- ProxyAttribute.cs
- UserControlParser.cs
- StickyNoteAnnotations.cs
- SqlBulkCopyColumnMappingCollection.cs
- EmbeddedMailObjectCollectionEditor.cs
- Rfc2898DeriveBytes.cs
- precedingsibling.cs
- Solver.cs
- MergePropertyDescriptor.cs
- HeaderedContentControl.cs
- RegexTree.cs
- GifBitmapEncoder.cs
- DesignerListAdapter.cs
- ResourceManager.cs
- SqlParameter.cs
- ClientSponsor.cs
- Resources.Designer.cs
- RemotingSurrogateSelector.cs
- NonClientArea.cs
- ScriptReferenceEventArgs.cs
- ListQueryResults.cs
- ViewStateException.cs
- ImplicitInputBrush.cs
- ShaderEffect.cs
- FixedTextPointer.cs
- dtdvalidator.cs
- exports.cs
- RowTypePropertyElement.cs
- shaperfactory.cs
- IndexedGlyphRun.cs
- InstalledVoice.cs
- AxImporter.cs
- MouseDevice.cs
- Thickness.cs
- SerializableReadOnlyDictionary.cs
- RuntimeConfig.cs
- ToolStripContainer.cs
- ToolStripMenuItemDesigner.cs
- PrivateFontCollection.cs
- Assembly.cs
- ThrowHelper.cs
- ManipulationCompletedEventArgs.cs
- PersonalizationEntry.cs
- NamespaceQuery.cs
- NativeMethods.cs
- SystemColors.cs
- DataGridViewColumnStateChangedEventArgs.cs
- InvariantComparer.cs
- Scheduler.cs
- ColorMatrix.cs
- CodeObject.cs
- Padding.cs
- ModifierKeysValueSerializer.cs
- BaseTemplateCodeDomTreeGenerator.cs
- WebPartDescription.cs
- FilterQuery.cs
- Semaphore.cs
- SimpleBitVector32.cs
- XsltException.cs
- BadImageFormatException.cs
- ResourceReferenceExpressionConverter.cs
- RoleService.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- ParagraphVisual.cs
- NumberFunctions.cs
- CqlWriter.cs
- RequestSecurityTokenForGetBrowserToken.cs
- VisualStyleTypesAndProperties.cs
- XmlAttributeCollection.cs
- BezierSegment.cs
- Send.cs
- InternalBufferOverflowException.cs
- FontUnit.cs