Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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. // //----------------------------------------------------------------------------- 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DocumentGrid.cs
- FileInfo.cs
- TextRunCacheImp.cs
- Delegate.cs
- X509ChainPolicy.cs
- GroupBox.cs
- SimpleTypeResolver.cs
- SrgsRulesCollection.cs
- SqlInternalConnection.cs
- ConnectionConsumerAttribute.cs
- PreservationFileWriter.cs
- NavigatingCancelEventArgs.cs
- XmlCustomFormatter.cs
- DiagnosticTraceSource.cs
- LinearQuaternionKeyFrame.cs
- CommonEndpointBehaviorElement.cs
- MergeLocalizationDirectives.cs
- SqlDataSourceEnumerator.cs
- UnmanagedMemoryStream.cs
- MemberRelationshipService.cs
- NodeInfo.cs
- DataControlPagerLinkButton.cs
- ObjectViewFactory.cs
- MulticastNotSupportedException.cs
- DockPattern.cs
- SqlTriggerContext.cs
- ControlEvent.cs
- InternalMappingException.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- ToolStripLocationCancelEventArgs.cs
- COAUTHIDENTITY.cs
- HatchBrush.cs
- Parameter.cs
- EtwTrace.cs
- SessionPageStatePersister.cs
- BuildDependencySet.cs
- ArgIterator.cs
- ImageMap.cs
- OutputScopeManager.cs
- BitmapEffectInput.cs
- BamlLocalizableResourceKey.cs
- ApplicationServiceHelper.cs
- ThreadInterruptedException.cs
- SymmetricAlgorithm.cs
- DataGridViewIntLinkedList.cs
- Decoder.cs
- CustomErrorsSectionWrapper.cs
- CounterCreationDataConverter.cs
- LabelLiteral.cs
- SrgsElementFactory.cs
- RSAPKCS1SignatureDeformatter.cs
- ValidatingReaderNodeData.cs
- HandlerBase.cs
- StreamInfo.cs
- Process.cs
- Assembly.cs
- SqlInfoMessageEvent.cs
- RoleGroup.cs
- Margins.cs
- ErrorCodes.cs
- IpcChannel.cs
- ReliabilityContractAttribute.cs
- SectionInformation.cs
- LingerOption.cs
- RecognizerStateChangedEventArgs.cs
- SamlAction.cs
- MailBnfHelper.cs
- HtmlGenericControl.cs
- AnimatedTypeHelpers.cs
- MatrixCamera.cs
- DataTableNewRowEvent.cs
- XmlElementList.cs
- WindowsFormsSynchronizationContext.cs
- ColumnMapTranslator.cs
- Graph.cs
- BoundColumn.cs
- DPTypeDescriptorContext.cs
- SerialPinChanges.cs
- MonitoringDescriptionAttribute.cs
- DeviceContexts.cs
- ToolStripRenderEventArgs.cs
- HttpConfigurationContext.cs
- columnmapfactory.cs
- ProfileEventArgs.cs
- SectionUpdates.cs
- X509UI.cs
- HtmlMeta.cs
- TargetInvocationException.cs
- TransformerInfo.cs
- Serializer.cs
- TransactionsSectionGroup.cs
- FacetValueContainer.cs
- OleDbInfoMessageEvent.cs
- OdbcConnectionString.cs
- NavigatingCancelEventArgs.cs
- ArithmeticException.cs
- Property.cs
- SoapSchemaMember.cs
- ProofTokenCryptoHandle.cs
- ButtonChrome.cs