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
- RuleSettings.cs
- TextOnlyOutput.cs
- FileVersionInfo.cs
- SoapIgnoreAttribute.cs
- DictionaryKeyPropertyAttribute.cs
- backend.cs
- SqlMethodCallConverter.cs
- SqlCacheDependencyDatabase.cs
- Ref.cs
- ManifestResourceInfo.cs
- CompositeActivityValidator.cs
- EncryptRequest.cs
- DiscoveryEndpointValidator.cs
- WindowsEditBoxRange.cs
- OrderedDictionary.cs
- HtmlControl.cs
- SendActivityDesignerTheme.cs
- SID.cs
- DatatypeImplementation.cs
- FilteredDataSetHelper.cs
- Cursors.cs
- StylusTip.cs
- PreviewPageInfo.cs
- AuthenticationModulesSection.cs
- _SslState.cs
- EncodingTable.cs
- ToolboxItem.cs
- TreeViewItemAutomationPeer.cs
- MaterialGroup.cs
- XmlJsonWriter.cs
- FocusTracker.cs
- ClientSettings.cs
- UnsafeNativeMethods.cs
- Brush.cs
- ConnectionPoint.cs
- OleAutBinder.cs
- XomlDesignerLoader.cs
- MessageBox.cs
- SerializationSectionGroup.cs
- ExclusiveTcpListener.cs
- GPRECT.cs
- StringFormat.cs
- UnsafeNativeMethods.cs
- DnsEndpointIdentity.cs
- UICuesEvent.cs
- FormParameter.cs
- WindowsScroll.cs
- SqlDependencyUtils.cs
- TypeDescriptor.cs
- EditorPart.cs
- DataGridTable.cs
- ImageListImageEditor.cs
- ColorTransformHelper.cs
- DynamicQueryStringParameter.cs
- DoubleStorage.cs
- DocumentViewerBaseAutomationPeer.cs
- SqlExpressionNullability.cs
- XmlDataSourceView.cs
- UnsignedPublishLicense.cs
- SharedPersonalizationStateInfo.cs
- DynamicScriptObject.cs
- PageHandlerFactory.cs
- ImportContext.cs
- XmlElement.cs
- GridEntryCollection.cs
- MultilineStringConverter.cs
- OutOfProcStateClientManager.cs
- RsaSecurityTokenAuthenticator.cs
- Propagator.Evaluator.cs
- TreeNode.cs
- SupportsPreviewControlAttribute.cs
- PrimitiveCodeDomSerializer.cs
- ReadOnlyPropertyMetadata.cs
- RequestQueue.cs
- MappingMetadataHelper.cs
- DataGridViewSelectedCellCollection.cs
- ColumnHeaderConverter.cs
- ServiceMemoryGates.cs
- CapabilitiesRule.cs
- TableLayout.cs
- XmlAutoDetectWriter.cs
- ModelVisual3D.cs
- Rfc4050KeyFormatter.cs
- ServiceContractGenerator.cs
- XmlWriterTraceListener.cs
- ConfigXmlElement.cs
- EntityDataSourceState.cs
- DateTimeParse.cs
- PageSettings.cs
- webclient.cs
- Figure.cs
- MessageBuilder.cs
- StateBag.cs
- ComPlusDiagnosticTraceRecords.cs
- TypeToken.cs
- UrlPath.cs
- IdentityNotMappedException.cs
- ImageKeyConverter.cs
- SystemIPv4InterfaceProperties.cs
- DataView.cs